前面有几位版友分享找实习的经验,突然觉得可以来分享去年自己申请的经验,希望能帮到之后申请相同公司的版友。三间公司都没有签 NDA 也没说可以分享,故为了避免造成困扰,题目不会讲太具体,如果有提到不能讲的东西还烦请告知,我会尽速彻下。
# 背景
112 非电资,面试时是大一或一升二的暑假。
面试前完全没刷过 Leetcode,现在想想当时应该刷的 QQ
在目前这份实习之前有在另一间小公司当过码农。
# Dcard
面试前有一份作业,可以自己挑题目写,前后端都有,我写的题目是 rate limit 的 middleware 跟档案上传的前后端,后端用 Node.js,前端 Vanilla JS。
一面当天有前后端各一位,让我挑想面前端还后端,我是选后端,但其实之后问的题目前后端都有。
题目基本上把整个 Web 的 tech stack 都问过了,有 Git、Linux、TCP、经典算法、数据库的基本概念与以及如何优化 query、JS 运作原理(大概是在 MDN 上会被归类于 Advanced 的东西)。
白板题的部份,因为有提到我正在学 Go,所以白板题被问了一题以 goroutine + channel 实作 worker pool,要有 recovery 机制,最后写出了会 deadlock 的垃圾 QQ,之后才知道其实 goroutine 有提供内建的解法根本不用自己实作 ==。
总之面试当下就知道没救了,因为是人生第一场面试(?),面试后有向面试官请教一下自己表现,得到蛮多很实用的建议。虽然最后没上,但从这场面试学到很多,也很谢谢当时的面试官愿意花时间给予指教。
四天后收到感谢信。
# Microsoft
我是请学长帮忙内推 TAI,不是很肯定面试流程跟直接投有什么差别。一开始先接到人力公司的电话,大概问了一些假设性的问题(像是如果跟同事意见不合会怎么处理),为什么想要投 Microsoft,一周能来几天,课业会不会太重是否确定能配合等,当下就答应给二面了。
二面是最后我进入的部门的工程师来面,聊了一下之前我做的 side project 分别用了什么技术。接着主要面试都是问 Microsoft 的 tech stack,围绕在 dotnet core、ASP.NET、MSSQL 等,虽然这些之前都没碰过,但靠着一些其他背景知识都还算能回答。
题目有像是 MVC 是什么、数据库的概念与 SQL 的写法(这部份问蛮多的,例如各种 JOIN、Key 和 Index、Transaction、Stored Procedure、aggregate 和 scalar function 是什么)、OOP 的概念(继承、封装之类的)。SQL 的部份我都是拿自己对 MySQL 的认识来回答,当下也有讲明没用过 MSSQL,回家查了之后发现两者的还是有些落差,有不小心用到一些 MySQL 专属的 syntax,但看起来是不影响面试结果。
最后又被关怀了一下课业会不会太重是否确定能配合实习时间 XD。技术问题结束之后工程师介绍了一下他们目前在做的东西,大概讲了一下如果我进来会要做什么。
二面当下给口头 offer,隔天收到正式 offer。
# PIXNET
也是请朋友帮忙内推 Web backend,PIXNET 似乎没有公开招实习生。
面试前有几题实作,包含算法、design pattern 等,建议以 PHP 开发。
一面的一开始会先有性向测验,之后有三个面试官一起面,因为前面的实作题我回信时有提问,所以有先针对实作题讨论了一下为何我会这样写。
主要面试的部份先从技术问起,大多是关于 PHP,例如怎么用 PHP 实作某些 design pattern,会不会有效能问题、经典算法的实作、PHP 的奇妙特性(?)、数据库的概念、用过哪些 ORM、有没有写过 unit test、从 PHP 转战其他语言的原因与遇到什么困扰(当时我有提到我以前常用 PHP,但现在已经转去用 Node.js 和其他语言了)。
接着就开始比较偏闲聊,像是以前有没有跟别人合作写专案,当时遇到什么问题,怎么解决,然后稍微介绍了一下实习方式、待遇与公司文化。
整体面试气氛很轻松,聊得很愉快,最后面试官也给了一些对于我日后学习很有帮助的建议,很感谢他们当时的指教。
三周后收到二面,但当时已经答应 Microsoft 的 offer,所以就婉拒二面了。
# 心得
虽然没有刻意,但刚好三间都是面 Web Backend,基本上问得问题都差不多,除了 Dcard 有再额外问比较进阶的东西以外,其他都是围绕着基本 Web tech stack 概念和语言特性在问。
可能刚好是运气吧,低年级的劣势在我的几场面试都没有影响到太多,OS、数据库、Algo 之类的课都没修过,但凭自己粗浅的背景知识还是勉强能答得出来,现在回想起来觉得自己真的蛮幸运的。
最后想感谢所有面试官跟帮我内推的朋友们,让我获益良多。也希望把面试经验放上来能帮到以后想去这些公司实习的版友们。
另外还有投了 Google 但无声卡,但这是意料之内的,当初就只是想赌运气而已 XD
因为时间有点久远了,加上不肯定哪些能写哪些不能,所以如果有写不清楚的很抱歉 QQ