- 一定要多mock,自己埋头写题和实际的coding面试还是会有差别的
- 面试的时候如果遇到做过的原题,不要一上来就用最优解,否则面试官会觉得这题你是做过的,有背题的可能,后续的follow up可能会魔改得很难. Χ
- 面试过程中,没有听清楚面试官的问题的话,一定不要稀里糊涂地回答。这个时候可以有两种办法,第一就是用自己的话复述一遍刚才面试官提问的问题,最后问Is that a good understanding of it? 第二种办法很直接,说I'm sorry, pardon之类的,现在的面试基本都是online,就说刚才网络信号不太好,没有听清楚也是很合情理的。当然面试的时候还是要找一个网络稳定的环境。。。
- 在读懂问题之后,多和面试官沟通,比如一些输入的corner case是否需要考虑到,最好自己举一个例子输入,得到对应的输出,问问面试官自己的理解是否正确。在这之后,一边和面试官沟通自己的思路,一遍在代码的注释行里面大致写一下,这个时候如果有思路不对的地方,面试官一般会提示一下。对于问题实在没有思路的话,也可以问面试官Could you give me a hint? 千万不要只自己埋头写代码,面试官想要看到的更多的是你解决问题的思路,所以要多和面试官沟通
- 面试遇到完全没做过的Coding题别慌,先用brute force解出来,面试官这时候一般会给你一些hint,顺着提示优化当前的解法. Χ
- 一般VO中写代码是在编辑器里,不是编译器,没有办法跑代码的,所以对于自己选择的编程语言的集合框架要非常熟练。有一些不常用的实在没想起来的话,也可以问一下面试官能不能用pseudo code表示一下,有的面试官会帮你查一下对应的方法
- VO遇到的面试官很可能会是烙印,所以有必要提前适应一下咖喱味的英语。。。我在面试前的几天经常在YouTube上找印度人说英语的视频看看,好巧不巧就遇到印度面试官了。
- 面试最后的环节一般是你对面试官进行反向BQ,可以多问一些关于公司和他所在的组的问题,千万不要一个问题也不问,说我没有任何问题了. ----
心态
- 求职是一个漫长的过程,如果能找到发展方向一致,并且愿意互相帮助的小伙伴当然是最好的。一个人刷题、投简历、面试,心态很容易就崩掉了。。。
- 小公司对简历可能会筛选地更细,毕竟小公司的财力有限,试错的机会更少,在招聘的时候也会更慎重的考虑,所以收到小公司的简历拒太正常了,心态上快速move on
- 在美国没有绿卡、不是citizen的话,找intern和full time都会更困难一些,小公司提供sponsorship的比例是比大厂要少的,如果因为身份问题拒掉也很正常了,快速move on +1