前阵子我问一美国朋友,有没有35岁裁员一说。
他一脸懵逼,为什么35岁之前一定被裁员?一定要做管理层?在他的意识里,是因为喜欢编程所以选择做程序员的,而且你让他做管理,兴许他都不愿意…
所以答案显而易见,不是,不是,不是。展开来说主要原因有三:
1、年龄的定义不同:美国高龄工作者比比皆是
拿校园来说,你可能遇到30岁还在上课的学生,60岁还在教书的教授,这在中国你想都别想。
2、市场需求大:美国程序员市场供大于求
举个例子:去年美国疫情带来了很大一波失业潮,但各州却急招会COBOL语言的退休程序员,因为政务系统都是用老旧的COBOL语言语言搭建的,所以只会老旧COBOL语言的程序员反倒派上了用处。
另外,像FLAG这样的头部企业,今年也比往年招人力度更大了。(真是一年更比一年强…
3、自己的价值由自己决定:可以选择搞钱,也可以选择享受WLB
刚毕业的时候可能你年薪¥10w,工作一两年后跳到湾区马上变身$20万。努努力35岁前说不定还能翻两三倍。等到你有家庭了,有娃了,可能薪资和职级不会有太大的涨幅,但这样也完全够了。你的薪资你的价值完全取决于你自己。(没有绝对意义上的躺平)
总体来说,美国的IT行业几乎没有【青春饭】一说,市场跟岗位反正就在那里,能卷者卷,能闲者闲,总之各有各的活法。
不过话说回来,能够翻墙上岸的国人也绝非善类,随便看看FLAG的面经就会知道,能上岸——还真没那么简单。
就拿论坛里讨论最凶的谷歌为例好了
谷歌面试大致4-6轮,考察内容主要有算法,设计类,BQ类这三种。(有的内容不止考察一轮)
coding轮:每个人遇到题目的难易的range非常大,有的人只考到了easy,有人连续3道hard
设计轮:按照类型可以简单划分为系统设计和面向对象设计。社招考系统设计居多,校招则是面向对象设计。
BQ轮:面试行为测试,参照亚麻去准备即可。
展开来说你需要掌握哪些技能
coding:看运气也凭实力
首先,根据硅谷资深面试官令狐冲的讲座分享的谷歌面试考察风格来看:谷歌coding轮的难度平均值适中但方差非常大。
你在lc中那看到的那种特别创新又特别难的题,往往就是狗家爱出的。但这种题都能做出来的人要么是ACM大佬,要么早就把lc刷的滚瓜烂熟了。
不过谷歌也是有题库的,只是ban题速度快一点而已,只要你有心把谷歌最近的面经原题刷一遍,大概率能在面试中收获原题。
这是我最近从面经中扒下来的原题,有需要的自取:
还有这套Google历年算法真题题库,搜集了谷歌近2年来的算法真题,而且是持续更新状态,感兴趣的可以自己去刷。
设计轮:不同职级考察内容大有不同
设计论对于校招和社招的考察范围和内容是万全不同的,校招注重考察OOD,社招则考察系统设计。
具体区别如下:
①校招着重面向对象设计OOD
OOD考题范围比较固定,针对应届生和SDE1,如果还不知道OOD是什么的,OOD扫盲讲座能帮你解答
如果你想通过自学搞懂这些,建议先弄清楚OOD面试的评判标准——SOLID原则。
- S – Single responsibility principle
- O – Open close principle
- L – Liskov substitution principle
- I – Interface segregation principle
- D – Dependency inversion principle
具体解析可以搭配《面向对象设计》听。
②社招着重准备系统设计
狗家面系统设计的特点是不按套路出牌,有面试官直接现场给简单的app后端设计图希望求职者针对用户需求来重新设计并解决问题,题目课拓展性差。
Google 提出的示例系统设计问题
- 你会如何设计谷歌的网络索引数据库
- 你会如何设计 Google Docs
- 你会如何设计 Google Home(语音助手)
- 你会如何设计一个售票平台
- 您将如何设计一个计算 YouTube 视频点击次数的系统 您将如何设计一个可以显示 1000
万以上用户状态的网页,包括:姓名、照片、徽章和积分 - 知道每个作业需要一定数量的 CPU 和 RAM,并且每台机器具有不同数量的 CPU 和
RAM,您将如何设计一个在机器机架上调度作业的函数?可以在同一台机器上调度多个作业,只要它可以支持
而这类问题的解法,在《系统架构设计2022版》中,老师也给系统设计总结了一套对应的解法——4S分析法:
根据这一思路,就可以逐步完成一个系统的构建,也可以来参考《系统架构设计2022版》中的实例——设计Twitter。
BQ轮:照着亚麻准备
BQ方面狗家肯定考不过亚麻,所以可以直接去看亚麻的军规打基础,另外利用下手头免费资源《面试软技能指导》丰富一下储备就ok了。
Google 提出的行为问题示例
- 说说你自己
- 为什么是谷歌?
- 告诉我你最近参与的一个/有趣的项目
- 告诉我你必须解决团队冲突的经历
- 你最喜欢的谷歌产品是什么
因为BQ没标准答案,市面上的资料很多很杂,我觉得前谷歌资深面试官的《面试软技能指导》的介绍比较详细。
可以看出谷歌的面试内容还是非常繁杂的,有不少人光是coding轮就直接败下阵来,希望大家都能摆正自己的位置,收获一份满意的工作。
——
九章算法,国内外一线工程师在线直播授课,已经帮助30000+人成功拿到心仪offer。
系统设计课程正在火热招生中,随时报名随时开课。
更多课程信息请访问:九章算法