2021东京码农求职记(上)

写在前面

本文作为我个人在2021日本IT行业求职的记录,一方面是对于自己六个月求职经验的总结,另一方面想提供一些最新的东京计算机/互联网新卒就职上的经验和资讯。2021年作为后疫情时间点,非典型的求职季里我的经历可能显得比较特殊,但是如果能对你提供一点帮助的话是再好不过了。

当然我在这个求职季中收到了不少前辈的各种帮助,真是特别感谢他们。同时我也参考了不少前人的经验总结,本文对于那些不太具有时效性的信息及经验不再进行赘述。其中推荐阅读曲奇君的五篇求职总结,给我在求职的准备和选择上有了很大的参考。

个人情况

个人经历

本科和修士都是CS,不过我应该不算典型的CS修士生。本科毕业后去了猪场做了2年的游戏后端开发,后来经历了项目人员等一系列变动后决定来日攻读硕士学位,具体可以看之前的文章。总之在参与就职前有一定项目和工程经验,虽然在简历上看确实会比普通应届生内容丰富点,但是我从求职季各家公司对于新卒的评价中体感优势并不是很大。而且由于疫情的缘故,我在去年12月才得以入境,缺少同期会在同时段进行的实习等就职活动。

语言水平

  • 英语:TOEIC 905pt
  • 日语:哑巴日语的结果就是只能进行简单的日常会话

就职方向

  • 日本的IT业界,并且不考虑技术咨询等职位,只考虑正职SDE;
  • 个人之前经历是游戏后端开发,但是想跳出游戏领域。希望的职位方向是后端开发;
  • 优先考虑外资企业,其次是内部推行国际化的日企;
  • 因为稀烂日语的缘故,基本上只考虑了可以使用英语的面试。

前期准备

基础知识

如果是CS或SE人,这部分本科大学课程内容都涵盖过。如果不是也不用担心,以interview为关键词在 Github 上一搜一大把。不过在准备这一部分的时候,需要注意不要死记硬背,最好能够进行解释。

数据结构和算法

这部分准备起来最花费时间,因为需要刷题。我主要在 leetcode 上刷题,截止2021年6月底刷了320题(69easy/197medium/54hard),不过其中有100+是在求职季前慢慢刷过的。过去提交参考这张截图:

可以看出我刷题量和密度都不是很多,基本都是面试前两周集中刷一遍寻找手感。我个人推荐的刷题顺序和策略如下:

  1. 平时或者求职季前可以偶尔随机刷两道题目,看自己分析和解决问题能力有没有退化;
  2. 求职两周前对于薄弱的分类专门进行训练。比如我一直对于二分查找题目的边界条件没有一个清晰的判断,面试前我专门选择了二分查找的标签进行训练;
  3. 面试前两周内随机刷高频题目,并且参加周赛限时解答。注意这个阶段需要脱离IDE的依赖,直接在网页提供的编辑器里面进行编码和debug,模拟实际白板面试的环境;
  4. 面试前一周内刷题的同时注意时间空间复杂度,构造测试样例,边界样例等。根据样例一行一行模拟运行自己的程序,并进行解释每行都在做什么。这个是为了模仿实际白板面试的过程。

简历深挖

按道理来说,这部分最好是在写简历的同时就一同准备好了,所以每一个你写在简历上的项目或者经历都必须自己先全面的梳理一遍。简历轮中面试官所有的提问都是围绕你的简历进行的,别出现面试官问你一个项目的详情,结果你说时间太久我忘了的情况。一般简历轮中的问题按照顺序会有这三种:项目情况相关,你在项目中的贡献,以及你所实现的部分中技术的细节。所以准备的时候可以按照这三个方面着重进行准备。

  1. 项目相关:最基本的是需要解释清楚这个项目究竟是什么,涵盖项目详情、技术栈、人员构成和分工、系统架构和选型等等方面;如果可以,请提前准备好架构图方便解释。这部分你解释的越清楚,就越能向面试官展示你的沟通能力。今年因为疫情比较特殊,面试都是线上形式,我直接准备了一份幻灯片,每家面试都放一次;
  2. 你所实现的部分:这部分需要体现在项目中的贡献,所以一定要挑出你在项目中的闪光点;
  3. 技术实现的细节:当讨论实现细节,并不需要你拿出代码来解释。更多的是需要你解释你在实现中对于不同技术选择的取舍和对应选择的原因,你在实现中遇到的困难及如何进行解决,还有你的实现最终达到了什么成果。

BQ

BQ,即behavior question,是对于过去工作和生活经历中的行为进行提问。基本就是让你讲一个你自己的故事来体现某种品质,或者展现你处理某类问题的思路。原本我以为这类问题在工程师面试中不是很重要,不过在经历了今年的求职季中,我发现各家都或多或少对于BQ都进行了提问。所以面试前还是要对BQ专门进行准备,尤其是需要准备丰富和详细的事例。

各家面试中,亚马逊对于BQ的考察在每轮评估中的占比是非常高的。他们家所有的BQ都是围绕着亚马逊领导力原则进行提问的,每种问题都会有不同针对的方面。所以在准备的时候,可以按照亚马逊的标准进行准备。之后再面别家的话,用这套完全绰绰有余了。

针对面试中的问题,可以参考这个油管视频,里面总结了常见的BQ问题并且对其进行了分类。至于事例的准备,这个和每个人自己的工作生活经历有关,这里我不太能给出多少建议。需要注意的是,一个事例尽量不要使用在多个问题中,避免出现面试官提了多个问题但是都回答了一件事情的尴尬情形。关于如何作答,推荐使用STAR解答法

总之,BQ并不像技术提问有对错之分,主要是面试官想根据这些问题察看你的合作共事能力。实际准备起来BQ部分也不会像刷题那么费时间,主要时间都集中在准备和润色事例上了。一般来说面试前一周准备各种事例,然后面试前几天过几遍具体问题和事例就行。

其他部分

基本上以上准备的部分对于新卒的要求足够了。有的面试官会针对具体框架底层、系统设计之类的需要有一定工作经验的地方对新卒进行提问,我个人认为这些都不应该属于对于新卒考察的范围。当然如果你有相关知识和经验会是个不错的加分点,否则不要在这些方面下太大的工夫,不如把时间分配到基础知识、算法和简历的准备中。

Leave a Reply

Your email address will not be published. Required fields are marked *