最近收到了一些 HR 的邮件,和朋友面了几家国内的公司,感觉和美国的面试方法还是相差很多的,不太理解国内的面试想要考察的具体是什么能力。
美国的面试尝龟流程一般是:给你一道很简单的题,让你用代码实现,eg:在数组中找一个数,反转一个字符串。基本上这个是热身题,答上来之后再根据题目,进行一些改变,规模增大,空间限制,条件增多等等等,这个时候问题就从 easy 变成 medium 甚至 super hard 了。总体而言,是一个你和面试官互相交流的过程,在这个过程中,你必须有:1.灵活的大脑 2.足够的专注力 3.充分的代码经验 4. 较强的沟通合作能力 才能很快的找出问题的解决方法并将其转换成代码。 我感觉这个过程,面试官和面试者一起合作来解决问题,是工作中很常见的情景,作为面试官可以很好的考察到面试者的智力程度和沟通合作解决问题的能力。
但是国内不管是 BAT 还是一众明星独角兽,感觉都是 1/3 时间项目,1/3 时间各种主流技术的细节,剩下 1/3 时间草草做一道算法题。 其实我是不太能理解这样面试的目的是什么,各种不同的轮子,虽然名字很酷炫,但是你能不能掌握他完全看你用没用过,不需要太动脑筋。举个例子:用 Spring 写过项目的人都知道控制反转是什么,干什么用,但是从来没有用过的人,根本不知所云。但是这些其实就是经验问题,和个人的能力没有什么关系,任何人猴子敲键盘做完一个项目也就明白怎么回事了,你只能通过这种方法筛选出这个人用没用过这个技术,并不能判断这个人聪不聪明,好不好相处,以及一起合作解决问题的能力。
以上,可能是我的思想太过于局限了,不知道各位怎么看待各个厂的面试风格的。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.