美国留学生微软(软件),今日头条(后端开发)

美国留学生。后端开发。

在美东上学,研究生一年级,CS专业。在美国找实习碰壁便来国内找暑期实习,没想到比较顺利拿下了微软offer。于是便来便来分享一波面经。

微软:

一面:两道算法题。第一道是一道热身题,easy难度,没有什么印象就不说了。第二题也不难。判断两个二叉树是不是镜像对称的(即如果通过交换左右子树可以使得两颗树一致,则为镜像对称。两棵相同的树也满足要求)

二面:一道leetcode hard题。比如有[2,3,1,5,6,0] 这样的全部由整数组成的数组,要求找到没有出现过的最小的自然数。本例中是4,因为0,1,2,3均出现了。要求在O(n)的时间里做完。还好之前做过原题。只要从左至右扫一遍,把每一个数放到它应该在的位置(比如0 放到第一个,1放到第二个)。再扫第二遍,如果遇到空缺,则找到答案并返回。

三面:第一道又是二叉树。给出一个BST和一个value,要求找到跟value最接近的值所在的节点。不算难,直接利用BST性质从根往下找。第二题有点难度。关于大数据处理。对于一个存满了整数的文档,同一行里任意的两个整数可以形成一个配对。要求对于给出的配对,返回他们出现的次数。因为没见过这种题,刚开始没什么思路,在面试官引导下才有了想法。基本上在跟面试官讨论sharding,hash函数设计,冲突解决。

最后hr告知得到了offer。总结一下,微软中国的考察方式跟美国公司非常相近,基本上以算法题为主。如果数据机构和算法基础比较好,应该就没有问题。

 

今日头条:

面的后端开发。第一面就拒了。这一次的面试是我目前为止遇到的最难的面试,BAT面的时候也没有这么难,难度感觉直逼全职。故来分享一下。

做了一道算法题,在线写,比较简单没有问题。接下来难度开始不正常了。先问了TCP/IP, OSI模型的概念。回答上来以后追问了一个很具体的例子(大意是在xxx情况下怎么区分两个层的xxx)。转专业并没有相关经验,题目都没听懂。然后是问了锁,线程和进程等一部分的概念。然后开始问高并发的例子。如果你的服务器是单机,你要相应多少多少的请求。怎么办?答:开线程。再问,开线程的缺点?除了线程你还有其他什么方式?一系列问题答的有点懵。然后问了解I/O 复用技术吗?了解ngix吗?一脸懵逼。

总体来说,面试官问的都很深,超出了我所学的范围。但也让我意识到转CS后,还有太多的知识需要去学。继续往后端的方向努力吧。

 

#春招#
全部评论
感谢楼主分享!
点赞 回复
分享
发布于 2018-05-16 17:02
宇宙条名不虚传
点赞 回复
分享
发布于 2018-05-16 21:22
联易融
校招火热招聘中
官网直投

相关推荐

点赞 评论 收藏
转发
5 22 评论
分享
牛客网
牛客企业服务