鉴于版上有关实习的心得文不多,所以来分享这段有点长的过程顺便骗骗P币
在流程中都没有被要求签保密条约,就视同是可以分享过程
如果各公司的人员看到觉得不妥可以私信我我再撤下
## 背景
112 资工系大二,两份实习经验,一份仍在职中
专长是 DevOps、cloud、backend (Django)
接触这些领域快一年
主力语言 Go > Python
除了趋势以外都是透过 Linkedin 投递履历
面了五家,包含 Amazon、Grindr、Dcard、趋势、Intel
全部都是视讯面试
以下以流程的最后结束时间做排序
## Grindr (backend)
要先完成一项 Java 的作业,是转帐和认证的 API
使用 JOOQ 做 SQL 查询和插入,
挺简单,个人没有任何 Java 基础,但靠 IDE 提示还是做出来了
### 面试
一对一面试,两位后端工程师 + 临时新增的一位 Tech Lead
先上机考一题 Leetcode Medium,默认语言是 Java
但我思考了一下想到不会用 Java 的 sort,就厚著脸皮问说能不能改用 Python
(没有信心能用不熟的语言刻 Merge Sort XD)
考完上机之后开始问问题,我有点意外问了不少 OS 相关的问题
包含 multithread、deadlock、process/thread 的差别等等
因为一些原因这学期没修 OS,只能凭修系统程式设计和偶尔看社群文章的印象回答
但应该还算有回答到正解的六七成吧
另外也问了 CI/CD、SQL、OO 等概念;
behavior 的问题则像是遇过最困难或最有成就感的事,或修了哪些课等等
### 面试结束后
HR 隔天寄信来感谢面试,并说明一到两周内会公布结果
待遇:$2500 / day
结果:reject
## Dcard (Backend)
一样要写作业,是一个 Web 的 middleware,
同个 IP 一段时间内造访太多次则送 429
因该公司的 tech stack 正在迁移到 go
所以我就用了 go + redis 去写
同学用 node.js 写出符合要求的作业被刷下来,不知道这关刷的依据是什么
### 一面
两位面试官一起面,问履历的问题不多,要我聊聊迁移数据库的过程做了什么
另外有技术确认的部分,
问了 git reset/ restfulAPI / TCP 和 HTTP 的关联 / response/request headers 等等
这里个人回答得不太好,有些自己觉得满 trivial 的东西都想说要用到再查
就在这里踢到铁板了
另外他们知道我会写 go,也问了一些跟 go 相关的问题
像是 channel 和它 block 住怎么办,也有上机要我实作 worker pool
官方有程式码,几乎和那个一模一样
待遇:$35000/month
结果:reject
## 趋势 (Backend, QA)
透过 104 投递履历,大约两个礼拜内被 HR 联系,
并要求做 online coding test (2hrs)
有给完成 test 的 deadline,但我忙于社团事务多拖了两个礼拜才做
还是进后续的环节了,deadline 都是假的有没有做好才是真的(?)
coding test 不难,大概就 leetcode easy 的程度
### 面试
两个 team 一起面试(我有同学只被一个 team 面)
总共六个面试官轮流问我问题
这次面试就几乎都绕着履历上的问题和我的回答做延伸
包含 aws、CI/CD pipeline、单元测试的经验、怎么接触 DevOps、
为什么会学 Python 等等
也有 behavior 的问题像是遇过的困难、时间怎么安排等等
最后两个 team 也有轮流介绍他们在做的事情(但这里我已经累到走神XD)
大约三个礼拜后 HR 告知最后结果
待遇:$200/hr
结果:Backend reject, QA offer get
## Intel (Chrome Automation)
透过官网投递履历后,大约 20 天后 Hiring Manager 会联系
### 零面
Hiring Manager 解释这个职位在干嘛,介绍后续面试的流程,并开放提问
没有压力,不需要回答什么
### 一面
三位面试官,一对一面试各半小时
#### 1st (automation)
问 CI/CD 的经验、对会 crash 的 program 怎么 debug、
怎么对一台机器部署程式,follow-up: 对两千台机器部署
再 follow-up: 如何监控这两千台机器,遇到错误状况如何解决
后面再延伸一两题
#### 2nd (algo, os)
问满简单的算法,解释二元树、二元搜寻树,操作复杂度等等
问什么是 divide and conquer;
另外问了一题自动化的情境题是怎么在有些 git commit 是烂的情况下
在 pull request 前确保 quality
#### 3rd (behavior)
问做过最自豪的专案或经验、因自己的问题而失败的经验、前几份工作经验
### 二面
一个礼拜内 Hiring Manager 连络说要二面和美国 Intel 员工聊聊
(以上这些流程都是零面就已经提醒过的)
早上 8 点配合对方时区而视讯,氛围的确是闲聊为主
问了两份的实习经验,讨论 python 和 go 的差别等等
二面完隔一个工作天 HM 连络我说结果尽快在两天内出来
结果:Offer get
## Amazon (Solution Architect)
官网投递履历大概半个月后 HR 联络
### 一面
技术问题包含解释 User 发 request 到一个网站,这中间解析 IP 的机制(DNS)、
Reverse Proxy、CI/CD、开发 web application 的经验、我的网站架构等等
非技术问题也问满多的,包含问我沟通能力如何、愿不愿意在超过 20 人的场合演讲等
最后有要我用英文自我介绍,然后用英文问我毕业之后要干嘛
英文自介完全没准备XD 讲得挺烂
### 二面
一面结束两天后联络二面
两位面试官各一对一面试,第一位是技术面试
问了前一份实习经验、对 DevOps 的理解、我网站的架构、
讨论自架服务和云端服务怎么做选择等等
也和我讨论如果以我的网站为例要怎么设计高可用性的架构
(我这里回答多台机器并用 k8s 部署,follow-up 就问各节点挂了怎么办)
也问一些非技术的问题,如有没有在很短的时间内完成一个专案、和 PM 合作的经验等等
第二位 behavior 面试,和一面是同位面试官
问我自学这些技术的起源、怎么决定要先学哪个东西、
遇到 negative feedback 怎么看待等等
结果:一个月无下文,寄信问 HR 对方说我在 Waiting List,要等多久不知道
## 其他
有投履历但无声卡:Google、CommScope、NetApp、AI Labs(应该还有但我忘了)
投了但停招:yahoo、Dell
另外 HPE 的 HR 曾联络我,但工作时数不合期待就婉拒了
我同学有在面的(我没丢):Microsoft、ASUS
## 心得
第一次这样海投履历,前两份都是只丢一间然后就上了
听说今年特别难找,我没有对照组不太确定
但被 reject 到怀疑人生,还好这礼拜陆续拿到 offer
面试的过程学到很多,深刻体会自己底子很不扎实,OS、SQL 等观念都超级菜
程式开发的经验也不多,运气倒挺好几乎没被考到算法,有也考到我会的(?
Intel 只给我一天时间考虑,所以 Amazon 那边如果没给我希望的话
大概就是去 Intel 了
以上,东西满多的也不知道大家要看什么,就写得很杂
有什么想问的我视情况回答