小米:我这次笔试小米,发现题目其实不多,都是直接手写代码。因此手写代码的能力还是十分必要锻炼的,直接对着《Cracking the Coding Interview》来手写代码吧。至于笔试题的难度适中,做完leetcode里面链表、树的题目,应该问题不大。当然,对于leetcode里面和链表有关的题目,多点使用二级指针去解题,不要总是用一级指针。用二级指针不但代码更短更简洁,而且更加高端,必须要练习一下。至于小米的面试,其实我发挥得不是很好,两道实际的手写程序题,第一题有一个小BUG,第二题经过提示才写出了最优解法。但是还是那句吧,笔试做好一点,面试的时候,如果你也能很好完成,那么就离成功很近了。最终我面了一个BOSS,MIUI那边的,BOSS问了一下项目的情况,还有之前我的应聘情况,问我为什么阿里、腾讯会没有比较好的结果之类的。其实很多面试官都会问你手头目前几个offer之类的,诚实点也可以了,不过对于那些拿到太多offer的人来说……你们有自己的做法了……反正我自己是诚实回答,但是回答的时候就不要说是自己的能力不够之类的,毕竟我到现在真的是觉得不同公司招聘有不同标准,在一家公司结果不太好,不代表你能力有问题,真的。
百度:百度的面试给人感觉很舒服。比较传奇的是,我一面是霸面的,一直到拿到offer,我都觉得是很传奇的事情。后来才知道我没有必要霸面,因为我笔试是通过了……只是暂时没接到通知的我以为自己被刷了,就匆匆忙忙去霸面……好吧,反正最终结果是OK的。百度无论笔试还是面试,很明显的感觉就是个人分析解题能力以及算法能力还是比其它公司要求高的。应聘百度,leetcode之类oj要多做一下,图的题也会涉及,字符串处理也是,但是有的题目,不是一下子能反应过来的,这个时候就要慢慢着手解决,当然你也要相信面试官不会出一些很tricky的题目,主要是做题的时候有正确的方法。像剑指offer以及编程之美这些书,解题的时候会有一个思路演变的过程,就是这种过程对解题还是比较重要的(个人感觉)。
——————后记——————