春招(实习生招聘) 总结

今天算是正式搞完了实习生面试的所有事宜,写一篇总结回顾一下,也趁着能回忆起来为秋招找工作留个底。按照时间顺序总结。(早面的几个公司已经快想不起来了。。。)

 

Google (内推电面挂)

第一家面的就是最难的公司,不过找师兄内推拿到了这个电面机会感觉也还算不错了。其实后来回忆起来,那道题目用到的算法也并不难(以二叉树层序遍历和XML文本,字符串处理为基础),就是它用实际工作中的内容进行了包装。需要先把问题理解透彻,然后分析出用到的算法再来处理。 作为自己春招的第一个面试,还是最牛逼的公司,然后不得不吐槽一下面试官(说好的交流呢。。。)。

所以结果也就是直接挂了。。。后来在知乎上看到Hiring Committee的大神说的 “现在的题目可能算法上更简单,但一定是一个实际问题,需要分析出算法,需要比较几种方法的优劣并做出选择,之后算法上的难度不会比课程作业更难”。 自己的面试过程也印证了大神的说法。打好基础,好好做kickstart,争取秋招还能再来一次。

PS:Google的Recruiter是所有公司中最贴心的!

 

阿里巴巴

蚂蚁金服(内推二面挂)

蚂蚁金服也是找师兄内推的,但是各种阴差阳错导致了推成了JAVA研发。然后面试也是各种不匹配,能有二面就非常不错了。

但收获很丰富,熟悉了一下国内面试的套路和流程,而且有一些奇葩套路题还是要总结。对后面面试帮助还是比较大的。

 

面试题回忆(有点回忆不清楚了):

一面:介绍项目(被鄙视),想来阿里为什么不学JAVA,(纳尼?。。。鬼问题到这里就开始气场不和了),你不是科班出身的我们为什么选你不选科班的(这基本没法聊了),你怎么证明你基本功并不差(...)C++里面的虚函数(使用上,含义上)。进程线程区别。TCP/UDP区别。介绍一下迪杰斯特拉算法。死锁怎么消除。介绍快速排序。数据库了解不了解(就聊了聊索引,B树)。读什么技术书籍。

二面:介绍项目,项目中遇到过的最大的技术困难。TCP三次握手,红黑树的操作(我说具体操作记不住了,就会用),那红黑树什么场景用,与AVL树的区别。B树和B+树的区别。排序算法介绍,有没有自己亲自测量过在什么场景下归并、堆排序、快速排序谁快谁慢(木有=。=)

 

正式批笔试之前又收到了电面电话,当时有了offer,就没有面(然后又多收集了一个已回绝。。。)

 

腾讯

IEG 后台开发(offer)

腾讯也是师兄内推的提前批,投的无倾向,最后被IEG的游戏工作室捞起来了。但两面的体验都非常好,岗位合适很重要的!

面试题回忆

一面:面试官围绕那两个练手项目(web服务器,shell解释器)一遍问项目一遍问基础。把提到的几乎所有的名词都要深究一下。包括但不限于:TCP/UDP,进程线程,进程间通信,三次握手,四次挥手,生产者消费者,不同I/O模型的比较,为什么选用事件驱动+非阻塞I/O。

其他问题还有C++对象模型(主要谈虚函数底层实现),C++新标准特性介绍。一道可以用堆解决的数据结构题(具体忘了),堆的定义。设计模式,聊聊模板方法(Template method),单例模式。服务器程序突然跑飞了怎么调试。有没有看过诸如redis,memcached之类的著名开源代码。

 

二面: 主要以发散的设计题为主,中间也穿插了一些比如非阻塞I/O与异步I/O有什么区别,双端队列是什么,有什么应用等基础题。但主要是设计题,总监大哥循循善诱,一步步引导思考,体验非常好!

几道设计题是: 1. FIFA online里面不同玩家直接状态如何同步(开始想问王者荣耀的,但我说我不玩。。。) 2. 斗地主服务器端数据结构应该怎么设计。评估一下服务端的计算量,玩家数量不断提高,一台服务器不行的时候,需要做什么?     3. 怎么做游戏全服的排行榜,怎么排序?每个玩家打完了都要知道自己的最新排名,怎么办?

 

360

搜索事业部,服务端开发(offer)

360是一天之内视频面试完毕的,面试效率超高,点赞。但出offer效率不太高。

面试题回忆:

一面: 一个小时大部分都是和后台/服务端相关的问题。两个小项目都进行了比较深入的探讨。问题包括: 线程池怎么实现。能不能优化。 select epoll区别。输入输出重定向怎么处理。管道怎么处理。异步I/O相关的概念。

其他还问了一道算法题,写了一个单例模式,解释为什么线程安全。

二面: 大叔不是很友好,但聊到最后也觉得是很实在的人,也很不错。主要就是做了四道算法题(记得不太清楚了),第一个strstr(纯C写,不许用任何库函数,或者string类,最后被鄙视边界条件考虑不足,代码写得少。。。)  进制转换相关的一道题,中文数字转换成阿拉伯数字(没做出来,给提示的),数组中第K大的数(O(n)的算法,并严格证明。。。 我只能大致证明。。。)其他还有聊聊服务端开发的项目,给我指导一下人生=。=

微软 (Offer)

微软的面试也是一站式面完,体验非常好,基本以算法题做题为主。开头可能问五到十分钟项目或者科研暖暖场。

一面: 二叉树最近公共祖先,写完了递归的之后,要求写非递归,搞了半天最后算是搞出来了。。。(面试官也是临时想的,跟我一起做的非递归)

二面: 聊项目和科研聊的最长的一次,十多分钟。写一个把heapify(数组化成堆),然后严格地证明一下它的时间复杂度(这个花了好久)。

三面: 聊项目,聊C++,做题,买卖股票问题,只能买卖一次,只能买卖两次。 (经典题,但是我没做过,搞了半天)

 

 

总结:

国内公司基本还是项目加基础知识,而且岗位匹配看起来还是很重要。后面要完善好项目,梳理好实习做的内容,巩固好基本功。

外企就是算法题,平时该刷题还得继续刷。

春招为了不耗费过多精力后期没有投公司。秋招还要把头条、滴滴、小米等公司尝试一下。

posted @ 2017-05-11 10:32  wangxiaobao1114  阅读(1027)  评论(0编辑  收藏  举报