New York Times User Generate Software Engineer 面试全过程

原帖地址:一亩三分地

我是在去年年底,闲着没事儿投的这家公司。在今年5月份得到了回复。经历了一场神奇的面试过程。虽然战败了,但是也学到很多。因为这家公司没有面经,所以我就分享一下。如果大家感兴趣可以投一投。

第一部分:电面
了解项目,问了一些java的基础,比如linkedlist和array的区别,how hashmap works, what’s hash collision, how to deal with hash collision, and what’s multi threading.
很简单。四十分钟愉快的聊天。

第二部分:onsite:
round1: 一个小时,两个组里面的人;
第一个XOR: 两个number, 不用XOR operator, 进行XOR运算。
很简单,如果两个数相等,返回false, 反之返回true.

第二个:在一个array里面,检查duplicates。(好像是的,我有点忘记了)
很简单:hashset

第三个:在一个tree里面搜寻一个数
1. DFS
2. DFS with given depth
3. BFS

这一轮面下来的感觉就是他们的程序员很注意efficiency。什么意思?比如用DFS进行recursive算法的时候,你有很多结束条件,结束条件排序的不同,会导致有的时候,你会运行一些不必要的recursive process。所以他们需要你避免这些情况。还有比如,你recursive到某一个节点,就可以返回了,你就不应该在继续进行到null值。虽然多余的步骤不会改变结果,但是你就没有体现你的efficiency。还有什么时候只需要进行左支运算,什么时候只需要右支运算。所以这个组里面的码农很严谨。你写好一个算法,他会让你不断让你的代码更完整,更精确。

第二轮:45分钟,美国小伙
linux 各种操作命令。我不会。就换了考法。但是我猜我是挂到这轮。
1. 一个folder下面有很多files和很多folder。统计一共有多少个files
我利用了bfs

2. 貌似打开某一个文件,某一个文件里面有很多时间,你需要把这些时间转换成固定的格式,比如mm,dd,yyyy hh:mm:ss,然后输入一个新的file。其实就是考你try catch,以及你会不会用io类吧

3. sql问题:具体题目忘记了,但是利用group by, count进行筛选。

第三轮 behavior 一个小时。
你最喜欢的工作环境是什么?你为啥来我们公司?你的项目经验。。

第四轮 45分钟,印度阿三
根据这个组的模型,设计database:create table, general select operation and some follow up。被送出。

这家公司是大公司,但在IT不出名。而且你看他的onsite时间安排,就会觉得不那么合理。此外你面试之前他是不会告诉你考什么的,问了也不会给你知道。比如linux的操作。
其次,面了之后,发了两次邮件催结果,HR不理睬我。在三周之后的某一个下午,收到了拒信。
. from: 1point3acres.com/bbs 这家公司不报销路途的费用,不会提供午餐。之后帮你买往返机票和一晚的hotel.

虽然失败了,但是学到了很多。所以还是很开心的。加油!