2021 Summary && Intern Application

2021 Summary && Intern Application

从八月底入境美国, 到现在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。几遍看下来, 发现我简历编排, 内容的诸多问题:

  1. 没有Technical skills的列举(这个可能直接造成过不了公司的简历机筛/有很低的简历分)。
  2. 简历各项outcome不明显, 按okr角度, 没有key result的量化体现。
  3. Latex转pdf有问题, 大部分字符乱码。

之后, 我对简历做了一轮大幅修改, 之后更新了很多公司的简历。第二周开始, oa与面试邀请逐渐到来。主要的面试有:

  1. 某500强大超市 W: 这个很早就有了, 我也推测该司是人工过简历, 并且听闻该司对经历很看重, 我的全职经历应该是很大的加分项。
  2. 某自动驾驶公司 T: 这个也是主动求来的面试, HR在人工过简历之后同意开启面试流程。
  3. 某pre IPO数据公司 D: codesignal后开启面试流程。
  4. 某可视化公司 T: 简历修改后开启面试流程, 周围并无男性同学收到T的面试, 推测简历相关经历很重要。
  5. 某NY FinTech B: 11月中收到面试邀请。后面试到来由于已有offer, 主动取消了面试。
  6. 某网络CDN Leading Company C: 初期做了他家的OA, 是take home assignment, 自认认真完成。后面试到来由于已有offer, 主动取消了面试。
  7. 某多媒体文件处理 Leading Company A: 直接给的面试。后面试到来由于已有offer, 主动取消了面试。

有一点很重要的: CodeSignal成绩, 我刚开始没有经验, 做了一次779分之后某S直接拒掉了, 后面摸清技巧: 第一二四题一定要做出来, 第三题尽量fix testcase。14天后重做时取得足够的成绩。

着重讲一下各个公司的面试经历, 我只面试了五家公司, 这里只大概聊一下面试经历:

  1. 某企业级支付小公司 A

    1. 第一轮HR聊, 有印象的只问了: what do you want to get through your internship? 这个问题也是之后众多面试的常考问题。
    2. HR聊之后给了一个take home assignment, 让做一个很简单的feature, 算是小型OOAD + 算法。我个人对于工程性代码的认知有一些误区, 整个项目用了maven构建, 用到了多个类分别做检验, 主功能, 常量枚举, 异常捕获等等。之后顺利在12月底收到了拒信。很多人说是overqualified, 但我个人从申请季开始就不相信overqualified这种东西的存在。可能的原因应该是: 1. 简单功能做的过于复杂, 不达预期 / 2. 项目有功能性bug。
  2. 某500强大超市 W

    1. 第一轮是OA, 分别是一个behavior + practical question combined OA和一个Algorithm + 编程基础的OA。practical question类似于基础金融题目(根据本季度数据, 预计下季度货物购买、投放、仓储), 编程基础问题的语言是JS 和 C#。
    2. 第二轮是take home assignment, 让做了一个中型的OOAD + 算法项目, 基本就是电影院分配座位+covid的social distance factor。一天时间做, 之后给面试官讲, 需要写test case, 面试过程主要是go over functionality和跑test case。面试的是一个印度的小姐姐, google过来的, 看起来面试的时候信号不是很好, 但是我本身做的应该还算不错。https://github.com/yizhao1998/movieTheaterChallenge-walmart (暂时没有开源计划)。
    3. 第三轮是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等。
  3. 某T司

    1. 第一轮是OA, 并不简单的hackerrank, 但是具体题目已经记不清了, 有一道比较麻烦的要做约分之类的事情, 码量不小。
    2. 第二轮国人面试官, 不怎么聊就做题了, 计算器 III, 要支持负数输入, 基本功能写出来了, 最后没有bug free, 惊喜的是也move forward了。
    3. 第三轮国人面试官, 也没太多聊天, 是hackerrank的一道fountain。
  4. 可视化T司

    1. 第一轮是OA, 有一道string的题不算简单, 但很巧在一亩三分地上看到了正确解法。
    2. 然后就是final round, B2B的behavior + technical。
      1. behavior轮聊了很多, 但是题目都比较typical。面试官是亚裔的一个小哥, 最后还说起来之前做的项目, 我投屏讲了我们做的东西。
      2. technical轮比较简单, merge two sorted -> merge k sorted。白人小姐姐面试 + 亚裔小姐姐shadow, 面试官人都非常nice。
  5. Pre IPO D司

    1. 第一轮直接technical interview, 关于某D司的题库浅已经是常识了, 所以第一轮还算顺利。问题是revenue的题。https://www.1point3acres.com/bbs/thread-798860-1-1.html
    2. 第二轮面试本来应该是最后一轮, 但是因为收到offer, 整个人太relaxed, 这一轮就寄了。面试官国人老哥, 主要是二进制的考察。同 https://www.1point3acres.com/bbs/thread-761408-1-1.html 第六轮, 算法基本给出来但是离bug free还差得远。
    3. 不知道是不是第一轮面的比较好, 又加了一轮来捞我。面试题是another String的题目, 用分块链表做。https://www.1point3acres.com/bbs/thread-798282-1-1.html, 这轮思路都讲清楚了, 但是c++用法错了很多, 和面试官一起做编译review, 幸运的move forward。
    4. 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的时候能有更好的发挥。

如果问这次经历有什么经验可以积累的话, 大概就是:

上岸后的生活还算不错, 心情开朗了很多, 转了Houston的NASA, museum, 也吃了china town的早茶。

第一个学期课虽然恶心, 最后GPA也还是拿了满绩, 现在这种摆烂程度我本科是做不出来的, 好在美国给成绩比较松。

winter break和本科同学一起去了Arizona和Utah玩, 自然风光很不错, 但是有一说一, national park这玩意真就一次性景点, 相同的地方再让我去我是不愿意了, Phoenix倒是本身生活环境还不错, 比Houston这种老旧的地方好多了:)。

我这个人本身没什么追求, 也就希望有一些情感寄托, 如果这些都放弃了, 我也不想玩了。感谢爸妈和女朋友在我找不到实习的时候听了我那么多抱怨的话, anyway, 我也只想开心, 在目前我没有找到生活的意义的assumption下, 家人和我能活的开心是我生活的唯一意义。当然, 家人包括女朋友, 哈哈。


Feb.13 Update

收到了某A厂的OA邀请, 完成了OA1, 两道题:

  1. 给定origin字符串及target字符串, 给定转换关系为在origin后append字符串, 使得target成为origin的一个子串。如akcd -> acde, 在origin串后append "e" 即可。求的是append字符串的最小长度。
    • 算法: 直接遍历origin, 与target中每个字符匹配, 匹配完后剩余的长度即为需要append字符串的长度。
  2. 给定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, 还算比较有作用。