我是今年四月底开始准备换工作,准备到五月中旬开始投简历。作为程序员,面试必须是要做题的,我从今年年初断断续续开始刷题,之前总共LeetCode刷了有300道,今年面试前又进行总结复习,总共刷了470道,算是刷的数量少的,不过够用了。
刷够300多道,多总结,保持熟练度,大厂面试基本都没问题了。况且,我从去年换工作,大小厂面试也有二三十家了,基本没遇到过hard,细心,保持镇定,基本都能做出来。
做题量来说,300可以出去面试了,500多比较稳,不慌。我认识很多去面外企的都刷了六七百道了。平时刷题,超过10分钟还没有思路直接看LeetCode上面的优质答案,刷的题少不会做题很正常,关键是自己一定弄明白,然后自己写写出来,自己写出来是重点,而且经典问题要用自己的话总结一遍。比如二分查找,一般二分查找怎么写, 改变一下,如果问题是在有重复的数组中找到最后一个target,或者找到第一个target,那判断条件怎么写?一定要参考优质答案,然后自己总结并实践。
(资料图片)
还有一点是,要细心,一定要处理好边界条件。初级阶段是,很多题指导思路,但对于细节把握不牢,因为没有仔细去思考细节这样写的原因。虽然大部分面试不用上级运行出来,但我遇到的大部分面试管还是能注意到关键细节问题的。比如,快速排序,原理很简单,但不好好准备,没几个人能写出来无bug的代码。刷的题多了,思路基本都有了,就需要在做题的时候,把细节问题想清楚了再写。负责很难让面试官满意。
常见算法题有:数组、字符串、链表。LRU被问过4次,后来可以bugfree 直接写出来了。图,最小生成树,prim,Kruskal,Dijkstra,朋友圈算法等, 二叉树,DP,我都有好好准备,但是面试都没有遇到过。所以准备算法题的时候,可以先把HotTop100 刷的明明白白,然后再逐步将不常见的算法类型也攻克,一般面试都不会出hard,基本都是mid。
之前帮公司招人收集简历的时候,基本都是社招简历,真是见识了各种风格的简历。不是hr,有些简历我也是一眼就像Pass掉的,主要项目不清晰,简历写的很乱,花样很多,这一看就不专业。
程序员的简历,要干净,重点突出,才显得专业。一般都不放照片,民族,籍贯这些也都是多余信息,电话,邮箱即可。教育背景,专业技能,工作经历,个人评价这四部分即可。
重点在工作经历里面,社招的不局限与简历是一页还是两页,把重点项目按照STAR原则写就好。我写简历前,会按照STAR原则,将项目好好梳理一下,尤其是我做了什么,难点是什么,以及成就。
最后还要加一点反思,之前方案有什么问题,这个很多公司都要问的。项目整理好了后,再往简历上写,之后面试的时候,介绍时,也比较有条理。
我的简历问过一些猎头,以及大厂公司的HR,说算是还不错的。当然,我也见过更漂亮的简历,用的是LaTeX写的,很简洁。
外企一般要准备英文简历,不过我投的是北京的亚马逊,只有中文简历也可以。
社招三年以上都要考系统设计的。我买了grokking the system design interview z这个门课程,挺不错的。国内价格599,开VPN后,海外价格会不同,香港最便宜,好像是三四百。
上面这门课程将基本的系统设计要考虑到的点,常见系统设计的核心问题思路都有很好的讲解,且全都是英文的,不过并不难,也能锻炼阅读英语的能力。
看过三四个章节后,建议YouTube上面搜一下System design视频,面试时候的表达,条理也很重要。
之前我面试没有条理,只将核心问题给了解决办法,看过是视频后,会更有条理。
后端开发程序员面试外企,硬实力部分主要是算法、系统设计,有的还要求英语。不过硬实力有了,不一定发挥好,或者说错话,导致被Pass。
有个朋友面试亚马逊,面试官文离职原因,说领导不行,这个不能这么说啊。
可能就是一时嘴快说漏嘴了,这个问题也很常见,面外企就说希望WLB被,向多陪陪家人,想多点自己学习时间,面试国内大厂,就说想换个环境,想要更多挑战,如果不是面试官不想要你,就不会再继续为难你。
在做算法时,一定要提前和面试管沟通好问题,以及边界case。我一般是在快速思考后,然后面试官提问,不明白的,以及特殊case怎么处理提前问清楚。
然后就是快速把代码写出来。写完代码后,不要着急说写完了,一定要在检查一遍,一般都会有小的问题。不要被面试官发现了再指出来。
面系统设计时,提前明确需求更重要。面试官很看重沟通能力。提前把问题,以及可能面试官都没想到的关键点提出来,会增加好感。
后来亚马逊hr和我说过,面试官评价里面有个沟通很好,提前明确了需求。如果遇到没做过的设计题,也不能慌,总得给个答案不是,总不能说不会吧。先把问题简化,模型简化,再一步步去解决。
面试Tik Tok让我设计一个打车系统,这个真没遇到过。司机和乘客都在地理位置上不断移动,这怎么搞。
想了几分钟后,我按最原始的思路,将地图分隔成很多小块,然后打车是,找乘客所在小块周围8个小块的司机,进行通知,匹配打车。
还有一点就是及时观察面试官态度,自我介绍是不是说的太细太多了,方案是不是面试官不太喜欢,及时调整。BQ行为考察的问题,在基于自己实际情况下,慢一点回答,多想想,朝着有利,真诚真实的方向说。
如果幸运走到这一步,谈薪真的是很重要了。
对于dream company,我一般先找几个小公司练手,然后找几家开工资比较高的好好面,拿到较高的工资,最后去面试想去的公司,走到最后谈薪时,会问你当前薪资,以及手里offer的薪资。这两个都会参考的,要把握好面试进度。
问我期望薪资是多少时,我一般说30%左右,不过不绝对,根据我的面试表现和公司薪酬体系来。
想拿到好的薪资,主要还是两点,面试表现好,当前薪资较高,另外有其他offer也是一个因素。最重要的是,缺不缺人,缺人面试好薪资就开的好。
今年大厂小厂都在裁员,面试环境很严峻,我前后投了八九家,小公司练手的基本都给我挂了,最后拿到offer的只有亚马逊,和新加坡TikTok。
还有一个走完流程不发offer的,两家主动终止面试。去年投的国内大厂,除了腾讯没有拿offer也都拿到了,有个搜狗offer,后来被合并入腾讯。
面试挂了不要否定自己。要好好刷题,好好准备基础知识,面试常问的知识点要用自己的话总结下来;不要广撒网,这样很浪费时间,要好好准备然后拿两三个练手后直接去面大公司。
好好准备,你也可以拿到外企的offer。。
作者:默罕默德,编辑:JackCui
链接:https://zhuanlan.zhihu.com/p/546079576
你好,我是飞宇,本硕均于某中流985 CS就读,先后于百度搜索以及字节某电商部门担任Linux C/C++后端研发工程师。
同时,我也是知乎博主@韩飞宇,日常分享C/C++、计算机学习经验、工作体会,欢迎点击阅读原文围观我分享的学习经验
我组建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起进群交流。
欢迎你添加我的微信,我拉你进技术交流群。此外,我也会经常在微信上分享一些计算机学习经验以及工作体验,还有一些内推机会。
扫描上方二维码,加我微信
我的私人微信
点击阅读原文查看你错过的宝藏
X 关闭
Copyright © 2015-2022 东方机械网版权所有 备案号:沪ICP备2020036824号-8 联系邮箱:562 66 29@qq.com