年终实习 22/23

9 minute read

为什么要叫年终实习,毕竟澳洲是夏天,国内是冬天。叫暑期/寒假(?)实习啥的也不太合适

最终拿到了上海特斯拉信息娱乐系统的 Offer

Akuna

起因是在 V2ex 上看到一个 Akuna Sydney 工程师在直招程序,遂在帖子下问有没有 summer intern 的位置,答复是“有时有,但不能给工签证",但因为我有学生签,所以联系了这位,帮忙内推了。

岗位是 Full Stack Web Developer,JD 里说是 Python + React.js 的组合,会涉及到 K8S 等工具。


  • 6月12号,简历开始走流程
  • 6月23号,收到笔试的邀请
  • 6月27号,收到技术面的邀请
  • 7月04号,技术面
  • 7月05号,收到终面邀请
  • 7月07号,终面
  • 7月08号,收到拒信

笔试

一共五道题,两个小时。不涉及到很重的算法,如果平时英文环境做题比较多,很好解决。

相对来讲,比较难的一道题,使用了 Dijkstra 最短路径算法。虽然我感觉用数学的方式应该也能做出来。

最后一题为了避免超时,使用一个哈希表就能解决,美中不足的是,有三个测试用例没有过。完成笔试之后,去搜索了下,得出一个结论,题目条件不完整导致的。

总体来说,10 分钟一道,最后一题用了一个多小时去 debug 那三个测试用例。

技术面

题目是关于一个音符或者说钢琴的问题,一共45分钟,题目也不难,但前期读题有点累。 我一点音乐知识都没有,所以需要一点时间理解下题目想干啥。感觉也就是 LeetCode easy 的题目。

面试体验很好,在和面试官说明不能太理解题目之后,小哥会从题库里拿一个 ascii 图用于理解题目。

题目一共有 3 + 1 个,是递增的关系,最后的 +1 是 bonus,因为时间的原因我没做。

第三题麻烦的一点是,需要用到 permutation 拿到所有排列组合,在这里花费了很久。后来发现不行,于是和面试官说,我知道怎么做,但我忘记怎么写算法了。面试官直接复制粘贴了 permutation 的函数出来,直接调用 python 的内置库 itertools…..

当时我懵了,直接问“原来我们可以直接使用内置库??”,面试官说可以的….

然后题目就做出来了,时间也差不多到了,面试官问了下哪里可以优化,就说有个地方可以从 O(n) 用哈希表优化到 O(1),和让我写一下 permutation 的实现,可以用 Pseudocode,写完之后问我为啥刚才写的不行,然后解释了下。

整体体验很好,但感觉自己做的过程很一般..

终面

一共一个半小时,前 45 分钟问了下 system design 相关的事情,比如一个消息软件怎么设计数据库、如果设计未读信息的角标、怎么推送消息之类的问题。谈了 20 分钟,剩下 20 分钟就是在讲组里的情况和公司相关的事情。

后 45 分钟,本应是 manager 面的,但好像有事,所以是上一场的面试官面的。解一道题,麻将是否胡牌的算法,看着很简单,做的方向也对,但没做出来。虽然被说做不做出来不是问题,主要是思路和代码风格之类的事情。

但总体上,自我感觉很一般。坐等拒信了…….

滴滴

  • 10月24号,实习僧投递简历
  • 10月25号,约面
  • 10月26号,一面

一面

滴滴的实习面试体验目前很好,没有八股文(毕竟是实习,不能卷了)。自我介绍之后就是问简历上的内容,会在此基础上问为啥这么做,怎么做之类的。

后面做了一道算法题,「链表插入排序」就结束了。大概 20 分钟做出来,有来自视频面试的压力和对面的背景音,会导致不能太集中思考。

点名批评滴滴这种行为,觉得不行就给拒信,无下文是最恶心的行为。

字节

心脏和字节只有一个能跳动

  • 10月20号,约面
  • 10月27号,一面、拒信

一面

开始问项目,然后就是做题「Single Element in a Sorted Array」的变种,没做出来。后续问了下一些八股文

  • 事务 ACID 的 I 是怎么实现的
  • TCP 握手 Server 发的 ACK 包序列号不对会怎么样
  • HTTPS 是怎么运作的,证书怎么签发

感觉无望。

Tesla

  • 10月19号,内推
  • 10月31号,约笔试
  • 11月01号,笔试
  • 11月04号,一面、二面
  • 11月07号,约三面
  • 11月08号,三面、OC

笔试

感觉国内厂实习岗都不会有笔试的诶,大概这就是外企吧。

笔试的形式十分的诡异,邮件发了个 Word 文件过来,里面有题目,前两道简答题,基本上就是一些基础知识。

这里的基础知识,真的是基础的知识,一些常用的命令和 Git 相关的,而不是国内大厂认为的对 TCP/IP 的深度理解,HTTPS 怎么传包,数据库底层实现,某语言怎么实现的 HashMap 之类的 面试官自己都不一定能了解这么清楚

最后一道是编程题,需要自行提供测试用例。十分简单,一共三个方法写了 60 行(再压缩压缩,还能更短),测试用例写的是代码的 3 倍量。

这才是正常的实习生的笔试(基础知识)的内容吧…

一面

  • 自我介绍
  • 问经历、简历上的内容
  • Linux 相关的基础(各种命令的使用 ps, pwd, grep, etc…)
  • Python 相关的基础(最后一问相对偏底层一些,问 Python 的垃圾回收机制)

结束后,HR 闲聊,大概 5 分钟后通知通过,并去看是否能直接约二面

二面

约在了一面的一个半小时后,一共半小时。

  • 自我介绍
  • 问经历、简历上的内容
  • 做了道算法题(任意一个排序算法)
  • 职业规划

目前感觉还可以吧,但周五了.. 至少要周一才能收到消息,希望能过,毕竟特斯拉的食堂据说很好吃。

三面

一个实习竟然都能有笔试+三场面试…

Leader 面,聊了一圈项目、未来,感觉和二面一样的内容,除了没有技术上的问题。

也具体的聊了更多业务内容。

晚些,offer calltext,说翌日由她(HR)同事发 offer 和具体的一些东西(因为她也是实习,没权限)

终于,年底不闲了。