从八月底入境美国, 到现在12月初, 短短三个月间心态变化甚多。写下此文作为短暂小记。
八月底, 从上海出发, 辗转香港, 多哈, 历经40余小时的航程, 总算到达了Houston。飞机上想起从本科毕业一年来的点点滴滴: 在字节实习与全职的时光, 和女朋友周游上海。短短一年, 我的技术成长超过了过去四年的总和, 也逐渐学习如何与同事相处、共事。这一年间, 我也数十次往返上海、深圳与女友团聚, 希望可以弥补过去四年间异地的缺憾。未来的三到五年间, 我想我们仍会是聚少离多。希望时光给我们爱情留下的刻痕, 可以化作烛光, 照亮我们今后的道路与生活。
到达休斯顿后, 室友sc是RiceU化学系的博士后, 在机场sc接机, 是我两年后重返美国遇到第一个相识的人, 在后面的几个月里, sc给我的生活起居带来了很大的帮助。另外便是我在本科时期的室友yh, 他在最后一年选择了UC Irvine的3+2项目攻读硕士, 在到达美国后第二日, yh来到Houston看望我, 帮我安顿下来。与yh重逢的一周里, 我更多的时间都是在做学习之外的事, 偶尔写写作业。yh提到我这样生活比本科时期好很多, 想起本科时为了GPA每周末从早到晚的学习, 自然感想良多。从国内离职, 我来美国愿望有两个, 一个是有国外大厂的经历, 一个是在美时期可以有更慢节奏的生活。
9月上旬结束, 忙完手头的事情, 做了一下简历, 找了BU-AWS的pk学长以及yh, RiceU-FB/GG的几位学长xy, sc修改了简历开始投递面试。一开始以为会比较顺利的事(自认简历ACM + ByteDance Full-Time还算不错), 竟然变的逐渐困难起来。一直到9月底才有第一个公司, 某500强大超市的HR reach out我, 9月内的压力可想而知。10月初到月底, 我有想到是否简历过于平淡, 不够竞争力, 在参考了一些同学的resume之后, 我加粗了一些简历上的东西, 更新了不少公司的简历, 但情况仍然没有改观。期间不断收到各个公司的拒信, 心情异常糟糕。10月26日左右, 我主动reach out 某国人较多的自动驾驶司 HR, 要到了一个面试机会。分配给我的recruiter与另一个我本科同学qd一致。于是我与qd聊了一下, qd在当时收到了某NY FinTech与某著名躺平司 S 的面试。羡慕之余, 我拿到了qd的resume。几遍看下来, 发现我简历编排, 内容的诸多问题:
- 没有Technical skills的列举(这个可能直接造成过不了公司的简历机筛/有很低的简历分)。
- 简历各项outcome不明显, 按okr角度, 没有key result的量化体现。
- Latex转pdf有问题, 大部分字符乱码。
之后, 我对简历做了一轮大幅修改, 之后更新了很多公司的简历。第二周开始, oa与面试邀请逐渐到来。主要的面试有:
- 某500强大超市 W: 这个很早就有了, 我也推测该司是人工过简历, 并且听闻该司对经历很看重, 我的全职经历应该是很大的加分项。
- 某自动驾驶公司 T: 这个也是主动求来的面试, HR在人工过简历之后同意开启面试流程。
- 某pre IPO数据公司 D: codesignal后开启面试流程。
- 某可视化公司 T: 简历修改后开启面试流程, 周围并无男性同学收到T的面试, 推测简历相关经历很重要。
- 某NY FinTech B: 11月中收到面试邀请。后面试到来由于已有offer, 主动取消了面试。
- 某网络CDN Leading Company C: 初期做了他家的OA, 是take home assignment, 自认认真完成。后面试到来由于已有offer, 主动取消了面试。
- 某多媒体文件处理 Leading Company A: 直接给的面试。后面试到来由于已有offer, 主动取消了面试。
有一点很重要的: CodeSignal成绩, 我刚开始没有经验, 做了一次779分之后某S直接拒掉了, 后面摸清技巧: 第一二四题一定要做出来, 第三题尽量fix testcase。14天后重做时取得足够的成绩。
着重讲一下各个公司的面试经历, 我只面试了五家公司, 这里只大概聊一下面试经历:
-
某企业级支付小公司 A
- 第一轮HR聊, 有印象的只问了: what do you want to get through your internship? 这个问题也是之后众多面试的常考问题。
- HR聊之后给了一个take home assignment, 让做一个很简单的feature, 算是小型OOAD + 算法。我个人对于工程性代码的认知有一些误区, 整个项目用了maven构建, 用到了多个类分别做检验, 主功能, 常量枚举, 异常捕获等等。之后顺利在12月底收到了拒信。很多人说是overqualified, 但我个人从申请季开始就不相信overqualified这种东西的存在。可能的原因应该是: 1. 简单功能做的过于复杂, 不达预期 / 2. 项目有功能性bug。
-
某500强大超市 W
- 第一轮是OA, 分别是一个behavior + practical question combined OA和一个Algorithm + 编程基础的OA。practical question类似于基础金融题目(根据本季度数据, 预计下季度货物购买、投放、仓储), 编程基础问题的语言是JS 和 C#。
- 第二轮是take home assignment, 让做了一个中型的OOAD + 算法项目, 基本就是电影院分配座位+covid的social distance factor。一天时间做, 之后给面试官讲, 需要写test case, 面试过程主要是go over functionality和跑test case。面试的是一个印度的小姐姐, google过来的, 看起来面试的时候信号不是很好, 但是我本身做的应该还算不错。https://github.com/yizhao1998/movieTheaterChallenge-walmart (暂时没有开源计划)。
- 第三轮是system design, 题目与https://www.1point3acres.com/bbs/thread-820046-1-1.html一样。面试的是印度老大哥, 在ATT lab干了很多年MLE, 过来做tech lead。design的时候会有很多follow-up, 比如expected problems and solution, 横向scale时应该怎么做, industrial service 应该怎么做cluster以及distributed system, 同时也会有技术选型, 比如mysql, redis, spring等。
-
某T司
- 第一轮是OA, 并不简单的hackerrank, 但是具体题目已经记不清了, 有一道比较麻烦的要做约分之类的事情, 码量不小。
- 第二轮国人面试官, 不怎么聊就做题了, 计算器 III, 要支持负数输入, 基本功能写出来了, 最后没有bug free, 惊喜的是也move forward了。
- 第三轮国人面试官, 也没太多聊天, 是hackerrank的一道fountain。
-
可视化T司
- 第一轮是OA, 有一道string的题不算简单, 但很巧在一亩三分地上看到了正确解法。
- 然后就是final round, B2B的behavior + technical。
- behavior轮聊了很多, 但是题目都比较typical。面试官是亚裔的一个小哥, 最后还说起来之前做的项目, 我投屏讲了我们做的东西。
- technical轮比较简单, merge two sorted -> merge k sorted。白人小姐姐面试 + 亚裔小姐姐shadow, 面试官人都非常nice。
-
Pre IPO D司
- 第一轮直接technical interview, 关于某D司的题库浅已经是常识了, 所以第一轮还算顺利。问题是revenue的题。https://www.1point3acres.com/bbs/thread-798860-1-1.html
- 第二轮面试本来应该是最后一轮, 但是因为收到offer, 整个人太relaxed, 这一轮就寄了。面试官国人老哥, 主要是二进制的考察。同 https://www.1point3acres.com/bbs/thread-761408-1-1.html 第六轮, 算法基本给出来但是离bug free还差得远。
- 不知道是不是第一轮面的比较好, 又加了一轮来捞我。面试题是another String的题目, 用分块链表做。https://www.1point3acres.com/bbs/thread-798282-1-1.html, 这轮思路都讲清楚了, 但是c++用法错了很多, 和面试官一起做编译review, 幸运的move forward。
- HM面, 聊了不少, 印象很深的一道题是 what will you change if you go back to previous time and redo a project? 这个完全没有准备过就是瞎说。总之最后也挂了。感觉更大可能是他家不缺人, 三面本身就是备胎。
5家公司, 最后收到了3个offer, 个人还是比较开心, 虽然身边众多meta, amazon, 也有gg。但从我这么晚投简历以及后知后觉改简历的pace来说, 结果已经还算很给面子了。能在接近3周的时间内上岸心仪的公司, 也很感谢命运的眷顾, 希望NG的时候能有更好的发挥。
如果问这次经历有什么经验可以积累的话, 大概就是:
- 简历, 简历, 简历。要持续改, 这是最初的一关, 也是特别重要的一关。简历要有关键字, 工作项目要有清晰的result。由于简历是HR审核, 尽量使用非专业性名词。
- 内推, 内推, 内推。大公司一定要找内推, 而且内推人的职级越高越好, 推荐信提前写好让别人过目。
- 心态。保持心态平稳才能有更好的刷题/面试状态, 如果拿不到面试/OA, 第一时间反思自身问题(简历 or 内推 or 其他问题)。省去怨天尤人的时间, 每天的努力才有意义。
上岸后的生活还算不错, 心情开朗了很多, 转了Houston的NASA, museum, 也吃了china town的早茶。
第一个学期课虽然恶心, 最后GPA也还是拿了满绩, 现在这种摆烂程度我本科是做不出来的, 好在美国给成绩比较松。
winter break和本科同学一起去了Arizona和Utah玩, 自然风光很不错, 但是有一说一, national park这玩意真就一次性景点, 相同的地方再让我去我是不愿意了, Phoenix倒是本身生活环境还不错, 比Houston这种老旧的地方好多了:)。
我这个人本身没什么追求, 也就希望有一些情感寄托, 如果这些都放弃了, 我也不想玩了。感谢爸妈和女朋友在我找不到实习的时候听了我那么多抱怨的话, anyway, 我也只想开心, 在目前我没有找到生活的意义的assumption下, 家人和我能活的开心是我生活的唯一意义。当然, 家人包括女朋友, 哈哈。
Feb.13 Update
收到了某A厂的OA邀请, 完成了OA1, 两道题:
- 给定origin字符串及target字符串, 给定转换关系为在origin后append字符串, 使得target成为origin的一个子串。如akcd -> acde, 在origin串后append
"e"
即可。求的是append字符串的最小长度。
- 算法: 直接遍历origin, 与target中每个字符匹配, 匹配完后剩余的长度即为需要append字符串的长度。
给定register, login, logout三个api, 实现in-memory注册登录功能。
- 算法: userMap维护已注册用户信息, loginedUser维护已登录用户。
之后收到了OA2, 询问同学之后发现OA2其实是有固定的解法的。
OA2 分成两个部分: work simulation & workstyle assessments
work simulation 本质上是对amazon Leadership Principle 的考察, workstyle assessments则是 amazon LP + 性格测试。
在完成OA2之前参考了视频 https://www.youtube.com/watch?v=QAbBd8W3sok, 还算比较有作用。