亚麻温哥华过经

3月11号温哥华的面试,早上3轮,午饭,然后下午2轮。

由于LZ所在省和温哥华本身就有几个小时的时差,加上周日切夏令时,所以生物钟有点紊乱了,面试前晚上在酒店没怎么睡好,早上临出发酒店还把账单算错了,折腾了半天一路小跑。所以基本上一天面试下来精疲力尽,两眼发直。。。经验教训就是一定要吃早餐。。。

不过要夸一下亚麻的待遇,住的Westin的顶层套房,View相当赞。不知道是RP爆发还是亚麻就是这个接待标准。

整个过程就是感觉BQ占比相当大,好几轮里都是重点围绕我目前工作做的两个看起来技术难度比较大的项目问各种情况,比如:

  1. 为什么要做这个项目?

  2. 遇到了什么难题,你是怎么解决的?

  3. 这个项目里有没有遇到你和你团队成员意见不一致的时候?你是怎么解决的?以及,那有没有遇到你和你领导意见不一致的时候?你又是怎么解决的?

  4. 你犯过什么很大的mistake么?你是怎么处理的?

有一轮是一个senior manager面的,纯BQ,上来问的问题特别宽泛,就是“我对你简历里提到的这个项目挺感兴趣的,咱们聊聊吧”,然后一路下去聊了足足一个小时,reverse interview的时间都不够了。

还有几个问题记不太清了,都是话赶话在面试过程中现问的。有一个感觉就是,面试官真的很认真的看了简历,而且回答过程中虽然一直在敲电脑,但是很认真的在听而且真的听进去了,所以问的followup问题也都很深入很有针对性,简历上的经验真的要足够strong才行。

还有一个细节是其中一个面试官,反而对我的personal side project很感兴趣,整个BQ都在问这个side project的细节,我琢磨了半天也没法跟14条LP的任何一条挂上钩

技术问题都相对比较简单。

  1. System Design: 设计一个Instagram,逐步追问以后细分到如何“上传图片”,以及“如何让followers看到新发的图片”,具体followup里谈到了负载均衡的实现(L4和L7的区别,后端server的选择算法等, 我说的L4和L7是lvl4 Load Balancer 和 lvl7 Load Balancer),就我提出的gateway概念追问了为什么我要保证stateless(因为easier to scale),追问了文件系统的sharding怎么做,增加和删除一个shard的话会有什么问题,怎么解决(一致性哈希)

  2. 给一个日志文件,里面都是产品的购买记录,返回“只被购买了一次”的产品列表。这题上来我就问了“文件有多大,内存装不装得下,要不要多进程并发,或者多机器并发”,从面试官的回应来看感觉是个加分。解法很简单,主要限定是不能排序,O(n)。然后还讨论了如果文件大于内存的处理方法,我回答了单机的情况下可以B树外排,多机情况下可以切分文件做map-reduce

  3. “合并两个日志文件”, 是的,整个问题描述就是这么简单,“merge two log files”,所有的后续条件都是追问出来的,比如日志文件是json还是csv,Rows按照什么来排序,文件多大,能否load进内存,诸如此类的。面试官说主要考察代码风格,规范,思路。从全load进内存然后O(n) merge然后到后来逐行扫最多只occupied几行数据量的内存,再到后来master process +多个worker processes的方式,讨论了进程管理和内存使用的细节

  4. 一副扑克牌不算大小王,52张牌重新洗牌。这个倒是提到了一个要求是要保证每张牌洗牌的时候都是1/52的概率,不是很清楚这个要求怎么保证,在解题过程中跟面试官交流的时候,发现面试官其实也不懂,或者说压根没有在意这个要求。。。

今天收到邮件面试通过,约的明天电话谈package细节。

祝大家都能找到好工作。

补充一下

Differences Between Layer 4 and Layer 7 Load Balancing

Layer 4 load balancing operates at the intermediate transport layer, which deals with delivery of messages with no regard to the content of the messages. Transmission Control Protocol (TCP) is the Layer 4 protocol for Hypertext Transfer Protocol (HTTP) traffic on the Internet. Layer 4 load balancers simply forward network packets to and from the upstream server without inspecting the content of the packets. They can make limited routing decisions by inspecting the first few packets in the TCP stream.

Layer 7 load balancing operates at the high‑level application layer, which deals with the actual content of each message. HTTP is the predominant Layer 7 protocol for website traffic on the Internet. Layer 7 load balancers route network traffic in a much more sophisticated way than Layer 4 load balancers, particularly applicable to TCP‑based traffic such as HTTP. A Layer 7 load balancer terminates the network traffic and reads the message within. It can make a load‑balancing decision based on the content of the message (the URL or cookie, for example). It then makes a new TCP connection to the selected upstream server (or reuses an existing one, by means of HTTP keepalives) and writes the request to the server.

楼主什么时候入职的?

已经入职了

我在做背景调查,想问一下你当时背调用了多久啊?背调组怎么通知的背调完成了?

参考