VO: 系统设计 -> 和地里的面经差不多。就是设计一个crypto currency的交易系统,有第三方的exchange,然后用sync的api和第三方exchange交互。 我有准备过类似的题目。不过面试过程还是会有一些卡顿,感觉我理解上有偏差,我事后才想明白,虽然面试官说是sync api, 实际上还是async的,因为order会有多个状态切换。 面试官有着重问我transaction order的状态转换, 另外还有问如果在第三方exchange time out或者fail,怎么样处理, 还有就是如果有spiky traffic, 系统应该怎么处理。 Coding -> Iterator的问题, 一题三问。 和地里的面经差不多。不过我想提醒大家,还是去在空白的环境下手写一下,更加熟练。我之前以为没有test,需要手写test。结果连主题的function都没有,全部都要根据题目来写。而且需要写iterator的interface,然后写两个class去implement。 这些一般都是IDE来做,如果完全手写,还是容易出一些报错。我在写class和interface的时候一直有报错,我算是测试了好一会儿才把这个跑通。不知道这算不算扣分项。 Coding -> Food delivery system. 一题三问。感觉算是个比较新的题目。第一道题是给一堆menu和餐馆,找最低价格和最近的餐馆。第二道题是给menu(里面有单品价格)和order,找一段时间内的order的总价和order的数量,然后求平均值。第三题是求一段时间内根据总价的TopK order,和根据单品交易量的TopK item。 其实题目都比较简单,但是用Java写function和test还是有点费劲,我担心没时间写test,code写的很快,但是容易出一些小错误。 而且我审题也有点错误,是在面试官提醒了之后又修改code。 另外面试官的题目也有一些typo,题目最后一问是Topk item, 但是写的是Topk order,面试官有纠正. (我感觉它们实际工作的环境估计也是这样的,不一定困难,但是应该相当chaos。) BQ -> 感觉面试官很疲惫的样子。问题有:最复杂的项目,对同一问题是用多种方式处理的例子。