Sicheng’s blog

The Sicheng's blog

记录我曾经面试 Facebook(Meta) 的经历

2020 年初的时候,我的邮箱里面收到一个封 Facebook 的招聘邮件。能被大公司看上,我还是挺高兴的。于是热情洋溢的回了邮件,说我很感兴趣啊,Facebook 一直是我的 dream company 等等。 面试 于是他们很快的给我安排了第一轮面试,就是两道非常普通的 LeetCode 算法题,我那段时间一直在刷题,所以很快的写出来了。所以他们就安排 4 月份去伦敦 onsite 面试了。 我当时签证和机票都搞好了,结果新冠在欧洲爆发,onsite 面试改成线上。这是我非常遗憾的事情,因为相当于免费旅游没有了,我定的酒店就在大英博物馆走路能到的地方。 线上 onsite 是一天面试完的,我记得好像是 4 轮,题目完全不记得了,基本上都是 LeetCode 的原题,就是考的一个手快。系统设计轮要我设计一个线上卖演唱会门票的系统,非常像 Educative 上的一个系统设计课程讲的  Design Ticketmaster,正好我前几天看过。我觉得这个题最关键的就是考虑并发的时候,多个客户端如果想买一个座位的票会怎么样。我就说这个时候应该用锁,并且解释了数据库乐观锁和悲观锁的区别和适用场景。 Offer 面试很顺利,我的 recruiter 一个星期之内就和我沟通,说面试通过了,要和我谈 offer 了!当时接到电话还是挺兴奋的,毕竟是顶级互联网公司。他们给了我一个 E4 的 offer,大致一年在 12 万英镑左右,还有将近两万英镑的搬家费。Offer 一年之内有效。 我的决定 兴奋过后,我也在考虑到底要不要搬去伦敦。那段时间我聊了很多人,包括已经在 Facebook 伦敦工作的朋友。 首先关于职级,E4 感觉不上不下的,Facebook 有一个非常有名的 Up or Go 的政策。Facebook 希望工程师在 一定时间内升级到 E5 […]

Continue Reading

推荐一个系统建模常用的模型 C4

  那天我之前的同事突然在领英上给我发消息:   他说的是指我一直在前东家的组里面推一种叫做 C4 的模型。   什么叫做 C4 模型? C4 模型是一种描述软件系统的建模方式,其中的 C4 指的是 Context(系统上下文),Container(容器),Component(组件),Code(代码)。这四个层级从高到低,从全局到局部,从不同的层级来描述一个软件系统。

Continue Reading

工作内推 2022-02

上周和经理 1:1 的时候,他提到了还想在德国和爱尔兰招人的事情,问我有没有可以推荐的。我一来想赚内推费,二来希望和我同时区的同事多一点,这样我可以不用跨时区开很多会。于是就写了这篇文章。在博客首页能找到我的联系方式。 注意:虽然职位都是远程,但是由于税务法律的关系,我们组只考虑已经在德国或者爱尔兰的候选人。因为是小公司,HR 在英国,他们也不愿意提供 Visa sponsorship,因为不熟悉各个国家的法律政策。我们公司还有其他组在其他地区招人,也欢迎同我联系。   我们是谁 来自于维基百科: Netskope is an American software company providing a computer security platform. The platform offers cloud-native solutions to businesses for data protection and defense against threats in cloud applications, cloud infrastructure, and the web. Netskope is considered a “leader in its field” status for its Cloud […]

Continue Reading

我的肉翻记录-下

上一篇说了一下面试准备和 behavior question 的准备方式,这篇说一下面试过程中各个阶段的准备方法, screen interview general question 这些是第一轮 HR 给你说的,无法就是你对他们公司有什么了解,为什么想换工作,如果 relocate,会不会把家人带过来。我觉得最重要的一点就是你的动机,也就是你为什么要来面试?以下是几点千万不能说的 1.  因为你们是大公司,我就想来大公司。我面试 facebook 的时候就这么说过,HR 直接说不希望你来只是因为我们的平台。 2. 我就想出国。。。 每个人的情况都不一样,但是一定要想个好的说辞,反正可以反复用的。 算法 这个算是一个比较大的障碍了,因为确实工作中很少用到算法,虽然去刷题有应试之嫌,但是这就是游戏规则。刷题的话,我一般都是去 www.leetcode.com,刷题的方式没个人都不一样,有人喜欢按照 topic 刷,有人喜欢按照难度刷,我的方式是 easy 和 medium 全部写完(hard 级别的因为我不是去硅谷的公司,所以就放弃了),以下是我的建议: 0. 总结出常用的模板,例如这个帖子就是一个用双指针来解字符子串题目的模板,https://discuss.leetcode.com/topic/30941/here-is-a-10-line-template-that-can-solve-most-substring-problems。这样的模板还有很多,多看看 leetcode 上每个题目的 discussion 版块,看看其他人的思路。 1. focus,有人写题的时候,还听歌,时不时刷刷朋友圈。但是实际面试的时候,会有压力,也有时间的限制,所以最好要有在高压状态下解题的能力。leetcode 上有个 mock 的功能挺好的,推荐试试。 2. 不要用 ide,有时候的面试是要求你的 code 能 compile 的,所以最好有徒手写代码的能力。 3. 注意代码格式。 4. 对于题目千万不要记代码,要记住原理。我曾经面试一个公司,on screen 的时候,出了一道原题,我取巧,就把之前写过的答案给敲上去了。但是面试官问我为什么这样解是对的,我突然就想不起来了,结果面试挂了。如果你要记录代码,还不如记录这个题目的思路,以后碰到了把思路想起来,现写代码,都比记代码强。 5. […]

Continue Reading

我的肉翻记录-上

这是刚刚出国的时候写的的老文了,搬移到新的博客来 前言 本人大龄程序员,一直想去国外工作,最近拿到了几个 offer。已经递交了辞呈,在办离职和等签证的阶段,所以写下这篇博客,记录一下这半年来的过程。 个人背景 末流 985 CS 小硕,BAT 大厂底层搬砖,工作 5 年。个人感觉背景重要性从大到小是,大厂背景(几乎所有的国外面试官都知道我厂),学校(国外的 HR 只知道 TOP2,但是申请签证的时候,有些国家会看你的学校),工作经验。 职位搜索 1. 100 offer 上的新加坡和澳大利亚专区,你可以勾选你想去的地区。我只接到过新加坡公司的面试邀请,新加坡的大厂 Sea Group,Grap 等基本上很多国内工程师过去的,所以面试的时候你会感觉面试国内互联网公司。也有一些小厂,面试都是英文面试,但是他们所需的人比较少,面试的人又多,所以会比较挑剔。 2. Stack Overflow 这个是我觉得很赞的,搜索功能可以根据公司是否提供 visa sponsor 过滤。像澳大利亚的公司,如果你没有工作签证,是需要雇主担保的。 3. 其他的例如,glass door,LinkedIn,个人感觉差不多。 简历准备和面试技巧 推荐 coursera 上的课程 https://www.coursera.org/specializations/english-interview-resume,里面详细说了如果搜索信息,简历如何写,behavior question 如何练习,推荐主要看 course 2,3,4 。 其实面试和 sell 的过程一样,都是需要把你做为一个商品卖出去,那么什么是一个好的销售?有一本书叫做《sell with story》,中文名字叫做《销售就是卖故事》。普通的销售是卖商品,好的销售是通过故事来卖商品的,这个和面试一样,当面对一些 behavior question 的时候,你可以干巴巴的说自己是什么什么样的员工,或者,拿一个曾经在工作中发生过的事情来证明你是他们需要的员工。 behavior question 的回答也可以参照 STAR 法则的,所以你要准备的 story,实际上就是 STAR […]

Continue Reading