趁年假整理近10年来面试心得,虽然网络很多资料,但我想
做个目录,可以很有系统地读下来,内容不够好还请各位指点~
建议读有众多连接的BLOG版本: http://wp.me/p6LfX3-20
< 软件工程师求职 (3)面试准备>
Coding Test
很多公司有coding test,进行方式有线上测验(例如Coditity),
电话+共享文件,或现场白板写code。听说毕业越久对这种考法越
生疏,练习方式就是疯狂解题。
台湾公司通常简单点,可用 Coditity 练习。
美商大公司 (如Google, Amazon, …) 需要复习资料结构 (prefix tree,
hash table, heap, …)及算法 (divide and conquere, greedy,
dynamic programming, recursive backtracking),配合参考书和大量刷
题。若像我一样擅长C语言的,一定要多练C++ STL的各种资料结构及演算
法 (sort, vector, set, map, list, …),对解题很有帮助。
题库:
1 LeeCode: 蒐集美国各大公司考古题,很多人建议完两轮才去投Google
2 Coditity for Programmer: 有很多练习题
3 TopCoder: 类似LeeCode
参考书
1 Cracking the Coding Interview:又称CC150,这本是面试者人手必备
一本的书,如果要找tier 1的大公司,一定要看这本书
2 Leetcode的电子书Clean Code Handbook,强烈建议一定要买!里面列出
的题目都很有代表性,范例程式码也很精简易懂
其他参考资料
1 GeeksForGeeks 有很多面试题目的答案分享,一定要看!
2 CareerCup 这是CC150作者所设立的网站,可以找到最近别人po的面试题目
3 网友整理的LeeCode解答
美式面试
通常面试一开始先请你自我介绍。依美式面试风格,自我介绍要简短
(约1-2分钟)但点出重点,让面试官从中抽问题问。
问题可能很简单,例如 “Did you have experience on xxx?" 不要只
回答 “yes I did."。应该要具体描述:
1 Yes I did.
2 在哪一份工作,设计什么产品时用到这经验
3 这经验为产品做出什么贡献
4 带到其他你想强调但面试官没问题的经验
5 问的是简单问题,回答却是完整故事。台湾面试通常询问较仔细,但掌握这技巧可让面试官印象深刻。
你有什么想了解的
面试之后,若表现不差会有机会反问面试官问题,建议先说明问题的
动机再叙述问题,免得给面试官误会,产生不好结果。
基本问题:
1 具体工作内容
2 和其他team及同事如何合作:了解team在公司的定位,及这职缺在team的定位
3 出差地点,频率
4 加班强度
5 薪资福利,年假天数,年终奖金等
如果面试官是直属上司:
1 管理风格
2 这是个替代性职位,还是新设的职位?
3 在什么情况下你会给下属升职加薪?
4 你最看重的是下属的哪些特质、品格、能力?
5 一般你会怎样挖掘下属的潜力?
以下问题我觉得非常棒,展现高度积极并了解主管取向:
1 我知道这个工作的内容 (此处填入工作职责)。理想的情况下,您希望我
第一年达成什么样的任务呢?
2 从您目前对我的认识,您认为我有多适合这个团队?
3 我知道贵公司的员工最近曾经在 (此处填入特定名称) 会议做过简报,
这个工作常会有这种机会吗?
4 您认为怎样才是理想的员工?
(参考:四个问题让面试官加深印象)
(参考:好工作和好老板是怎么选出来的)
薪资谈判:
录取后有机会谈薪水,可参当地国家的薪资水平:
http://www.payscale.com/rccountries.aspx
例如:
TW: sw engineer TWD 728k → senior TWD 1,034k
CN: sw engineer CNY 178k → senior CNY 286k
HK: sw engineer HKD 275k
US: sw engineer USD 80k → senior USD 106k → principal USD 128k
Google:sw engineer USD 111k → senior USD 151k
附注
想去美国应征软件工程师可参考:
1 美国软件工程师攻略(一)一些想法,写在文章之前
2 美国软件工程师攻略(二)- 出国前的准备
3 美国软件工程师攻略(三)怎么拿到面试机会?