2019 Jan first line firms 大厂面试心得

昨天电话面试了一个 1.5 线大厂. 面试官是一个烙印和一个小中, 其实两人年纪一样大, 都是刚刚工作了七八年的青壮年。

两个面试官先分别做了较为详尽的自我介绍,有效的纾解我的临场压力,这么安排挺好,非常感谢。

 

开始的热身开胃菜有下面几个:

问 a == b, 在什么情况下 ++a != ++b ?

进程和线程的区别是什么?

单机多进程/多线程如何通信和协作? 如何安全的访问共享资源?

多进程多机器分布式呢?

 

主食 算法题:

 

* 设计一个 class, O(1) 实现 insert, delete, get_random, 无重复数。

follow up, 有重复数呢,说出原理就行,没有要求实现代码。(我是两周前刚刚熟练到5分钟达标,咱的人品的逐步提升.)

 

* LFU cache

follow up, 如何 thread safe?

 

最后5分钟,是候选人的提问时间。我准备了很多,随机问了三个问题,时间差不多 就打住了。

最后一个问题我了解了他们的技术栈。回答明确指出 Language does not matter. 真合我意.

 

最后超时 5 分钟.

 

心得,

 

* Clarify spec, don't solve the wrong problem.

* Think loud, 不要急于打代码,从容说出完整思路,说出数据结构和处理逻辑。就像平常工作跟同事商量一样。

还有 EPI 的很多心得,本次没有用上,比如:先用简单的典型案例走一遍,验证设计的可行性。

 

期间烙印面试官也多次提示我多讲讲我的题目理解,数据结构设计和自己的思路,非常感谢他。

他在中国华为工作多年,以我的经历体验,他算是比较公平的。两个题目结束,都主动说出 I'm satisfied. 

90%的时间烙印在说话,小中比较沉默。

 

小插曲

小中加问了一个 follow up, 我说了大概思路,烙印都说好了,过了,可以进行下一个了,小中还在追问实现细节。

自我反省,我以前面试的时候,也应该加大包容的力度, 对华人候选人更加友善。水平差不多就行了,不要过于为难同胞

 

 

鼓舞打气,

我自己确定的就是我肯定比上次脸书面试答的好,两道题基本都做出来了,包括 follow up 也做出来一道,

就是系统原理方面还比较差,像多线程和进程有什么区别?怎么加锁等等.   我还没有准备。

 

热身问题,参考答案.

++a != ++b, 一个短整 一个长整型 边界时候 一个变负数 一个变更大.

 

 

posted @ 2019-01-25 06:21  木匠_Charlie  阅读(188)  评论(1编辑  收藏  举报