脸书安卓昂赛挂经

在西雅图
第一轮:国人小哥:
给一个字符串,只有数字和 “+” 和 “*”,要求计算出值
Ex:
输入: “1 + 2*3*4 + 5*6”
输出:55

第二轮:
behavior,研究简历,问问过去的经历,最有挑战性的project是什么;

第三轮:
两个排好序的数组,找到公共元素:
Ex:
输入:
[1, 3, 4, 4, 5]
[2, 3, 4, 5, 6]
输出: [4, 5]
有很多followup,例如有很多重复元素,数组很大,如何时间或者空间最优等

第四轮:
安卓系统设计,加入现在的手机都没有推送通知系统,自己设计一个,该考虑哪些方面等

感谢楼主分享,看你的结果是拒掉了,大概是什么原因呢?

第一题算法要求写一个只用指针版本的,时间紧张 到最后没有写完;另外简历deep dive的时候被质疑的比较多吧

楼主。如何准备 Android系统设计比较好呢?

我觉得应该多多联系一下画图的能力,像流程图,关系图这些

什么样的关系图啊? 是让你用具体的安卓components 去组织这个functions么? 长连接就维护一个tcp socket接收server消息么?比如说接收到消息就发送一个broadcast, 然后在broad cast里面用notification manager 发一个notification ?

就是你想一些需要的类,然后把他们的关系图画出来,同时向面试官介绍流程

多谢楼主,请问楼主是kotlin面的算法题吗?

Java哈