人生第一份工作:硅谷资深技术面试官教你如何拿互联网大厂 Offer( 二 )
所以 , 根据自己的风险偏好选择目标公司 , 才不至于有看着大公司想发财 , 去了小公司怕被裁 , 这样错配的情况 。 在选择面试职位的时候 , 应该 根据自己的能力和知识结构 , 选择对应的职位 , 尽量不要选择技术差异比较大的不同方向 , 这样会过分分散自己的准备精力 。 对于应届毕业生而言 , 可能选择职位是一个难点 , 在硅谷 , 很多科技公司对于学生是统一招聘 , 即不设特定的职位 , 通过面试后再选组 。 而国内的笔试 , 校招面试 , 也是比较普适的 , 所以只要能够表现出自己的知识储备和技术基础就行 。
如果有幸通过了简历筛选进入到面试流程 , 那么在面试之前 , 对于每个需要面试的公司 , 都应该做一些尽职调查 。 包括 了解公司的业务范围 , 所要面试组的技术框架 , 这样一来可以在面试中和面试官拉近关系 , 二来也是对自己负责 , 了解未来东家的工作氛围和技术实力 。
三、面试过程
Q2:算法一直是技术面试考察的重点 , 在技术面试中考验候选人算法水平的目的是什么?
国内外公司在技术面试中都会考察算法 , 特别是对于刚毕业的学生 , 其所占的比重更大 。 在校招笔试的过程中 , 大量问题都穿插着算法 。 面试过程中 , 算法的实力更是决定你 Offer 的大小 , 是不是能拿到阿里星等特殊 Offer 的关键因素 。
在技术面试中考验候选人的算法水平 , 我个人觉得是非常有必要的 。 对于成百上千次查询 , 可能算法的优劣并不明显 , 但是考虑到 Facebook , Google , 淘宝这种量级 , 算法复杂度常数时间的差异都能决定用户体验 , 更不用提如果算法有量级上的差异了 , 这种差异甚至能决定一个业务能做和不能做的区别 。 此外 , 算法面试还是模拟工作中解决一个实际问题的最好方式 。 在面试过程中 , 通过面试官给定一个问题 , 面试者对问题进行细化 , 通过若干次算法迭代实现最好的解决方案 , 不正是在工作中反复出现的场景么?
Q3:国内外公司算法面试的流程是什么样的 , 在内容和形式上有什么区别?
整体而言就算法面试来说 , 国内外的面试方法大致相同 。 一般都是给出一个类似于力扣上的编程问题 , 需要面试者在给定时间内给出时间和空间复杂度最优的解法 , 并且编程实现它 。
在解决问题的时候 , 算法和数据结构就像一对孪生兄弟 , 会交织在一起 。 原因在于 , 好的算法往往要有数据结构的支撑 , 而数据结构本身的实现 , 比如散列表 , 红黑树 , 有包含了算法优化的精髓 。
面试官通过观察面试者对于算法和数据结构的了解程度 , 就能比较准确地判断面试者的水平 。 比如初级面试者听说过散列表 , 中级面试者知道关于散列表的一些算法 , 而高级面试者就可能知道散列表算法的实现方式 , 并且可以对 Java 或者 C++ 自带的散列表实现发表看法 , 指出它们的优势和不足 , 并且权衡什么时候应该使用语言自带的散列表 , 什么时候应该使用第三方开源库的解决方案 。 这些细节都会影响最后的定级和 Offer 。 因此 , 面试者需要十分重视算法能力的提升 。
Q4:在技术面试中面试官主要考察面试者的哪些方面?
在面试过程中 , 技术水平是第一要素 。 学历 , 特别是对硅谷公司而言 , 并不是特别重要 。 谷歌还有高中没毕业的学生被录取作为工程师 。 从面试官的侧重点来说 , 一般硅谷的全天面试分为 5~7 轮 , 具体分配如下:一般有至少两轮的算法面试 , 侧重于算法和数据结构 , 需要在白板或者电脑上当场写一到两个编程问题;一轮系统设计面试 , 比如设计一个分布式系统的架构 , 设计一套客户端和服务端的函数接口 , 设计手机软件的一些库函数等等;一轮文化 / 背景面试 , 考察面试者之前的项目深度 , 并且判断面试者是否能够比较好的融入公司环境;一轮招聘老板面试 , 也是侧重于面试者的经验以及和团队合作的能力 。
推荐阅读
- [请叫我绅士]就上山去找大师问,随后恍然大悟,开心笑话:一位青年找不到工作
- 『烨然聊科技』走上人生巅峰后,现生活怎么样了?,支付宝大爷因名字成网红
- 『专场』没找到工作?广东为期100天的网络招聘会来了
- 云安全联盟区块链安全工作组启动,e签宝助力推动区块链安全发展
- 『悠萌影视』月薪大概多少?内部员工工资揭秘,研究生和本科生到国家电网工作
- 『砍柴网』有道翻译官推出检疫特别版 助力全国百万公安民警跨境检疫工作
- [西北信息报社]陕西出台《决定》加强检察公益诉讼工作
- 重组后第一份年报出炉 TCL科技如何“提质增效”
- 『抓好』一起为大地添绿(统筹抓好改革发展稳定各项工作)
- 【三江源国家】青海自然保护地体系示范省建设工作取得积极进展
