今年实习、校招面试(百度金融、凤巢,头条,小米,华为。。)

先说个人情况,中科院某研究生所计算机专业, 大学也是软件工程专业。读研时方向混乱,实验室呆着也没啥项目,论文没有,实习没有(只有本科的渣创业公司实习),本来是想要找算法岗,后来感觉背景不够,竞争激烈,只能转战研发。刷题不多。
面了好多家,至今只有几个面试通过的, 都没邮件正式通知offer意向,心累。

目前感觉,面试过程中遇到的算法题,基本是剑指offer可以找到的,准备刷遍剑指offer.... 很多面试题也遇到了好几回。面试过程中,遇到会的算法题,不要写的太快。。。假装有个循序渐进的思考过程。。有的面试官可能不看重你是否做出来,而是看你思考的过程吧。。。个人感觉。。。

整理了面试经过,分享给大家,希望有所帮助。。有空会持续更新。

2017微软转正实习生

  • 第一面没问算法,直接问项目,首先我解释了几个课程设计,后来按着机器学习一直问。。没怎么回答好。。后来讲了一下简历写的个小游戏。

  • 二面开始问我迷宫查找怎么实现的,就是深度优先和广度优先的搜索。问了俩算法,比较简单:一个是树的层序遍历,另一个求经过root的两个树节点之间的路径长度。手写代码,讲思路和测试用例。另外引申了一下求两个节点的不经过root的最短路径长度。我说要求最近公共祖先,但是代码还没想出来咋写呢,时间也差不多,就结束了二面。

  • 三面竟然问一些语言特性。。java hashmap 和 hashtable的区别(线程安全)。。c++ virtual, 析构函数,重载重写。按着线程安全的问题问啊问。。我就知道互斥锁。。最后给看了一个c语言strtoken函数的定义,然后白板实现。自我感觉这个函数写的差不多,就是前面一些语言特性没回答好。。 对了,因为strtoken 不是线程安全的,面试官又问我该咋办。。我又只能回答说加锁。。。。。。

微软的消息等了太久了!!备胎一个月了,苏州那边打电话问我能不能去苏州实习。。然后说不太可以。。毕竟学校在北京。。然后GG了。。现在后悔,不该为了怕导师而拒绝微软啊,校招的时候还是看实习的。 啊心塞。。。如果给我一个机会。。我肯定会请一个月假加上暑假去的,没实习现在校招特别难受,而且感觉再也没机会去微软了。

小米实习面试

最后小米实习去了一周。迫于导师淫威, 怕怕地辞职了。太怂了。。而且等我辞职后竟然放假了并且导师也对我们找工作放水了!! 又心塞!!!

头条实习面试

一面挂。 问求第k大个数字。用快排写的。 写的比较慢。 又问项目。感觉没亮点。 挂!

百度复合搜索提前批面试

  • 一面: 进程线程,三次握手,死锁以及怎么处理。项目。 算法题:两个链表求交点
  • 二面: 1) 智力题, 一个密码锁有6个数字, 求不小心拿反了还是正常数字的概率;求不小心拿反了和拿正的数字一样的概率 2)算法题,一个数组 1-n 中缺失了一个数字。查找到那个数。 我用二分查找做的。 3)面试官感觉不懂机器学习, 让我讲了下svm, 给她说了下原理。

  • 三面:部门经理,有点傲气。。喜欢打断人说话,问职业规划之类的(职业规划真的会有很多人问到,好好准备)。问有没有男朋友(懵逼),问对头条和百度的看法。 问遇到困难怎么解决,我一不注意说Google一下。。然后马上意识到啊这是在百度啊。。接着添上 或者百度一下。。。

最终说两周给消息, 也没给。挂了!!/(ㄒoㄒ)/~~

360中科院专场

面试真的靠缘分和运气吗,感觉水过的。

  • 一面问,写个atoi吧,考虑好各种情况。 我就写。。刚写了两分钟,面试官忍不住了,你咋写这么多。。。我说我得考虑充分啊,他说别写了讲讲吧。。。就讲了下。然后又问,编辑距离知道吗?我说动态规划,刚要写,然后他说好,知道了不用写。然后问了下svm,gbdt 的东西, 就过了

  • 二面说,山东人啊。。360好多山东人呢。。哎你这项目都是工程的呀,咋来找算法,我说因为热爱 = =(内心:我就是试试看啊)。 没写算法题,聊了聊项目,问svm 折页损失公式,并问L2正则作用。竟然过了(黑人问号??)

  • 三面hr: 自我介绍,优点,对360的了解, 对人工智能研究院的了解。。。

最近要出offer结果了。我感觉很有可能被刷掉的,毕竟水过的。心里虚。 希望能好运一次!(更新,第一批offer已经出来, 没我。。已经进入备胎池。。)

百度本地凤巢

  • 一面:由于我简历写的熟悉java, c++略懂,他就问了下简单的c++的语言特性, const 关键字。面试官很nice,告诉我别紧张。。就想了解一下我会的东西。然后问了排序,按某种分类把排序算法分类一下。我按时间复杂度分的。后来又问了下各个排序的原理讲了一下。 算法题:记不太清了,就是一个二叉树遍历的变形,输出二叉树中路径尾节点能被5整除的路径?写了个递归的,又问非递归的。。大致说了下。他问,是不是刷题挺多。。我说,大家都会刷一些吧。。。问用linux开发吗?我说写过c/c++ makefile。 面试官就噼里啪啦记录。

  • 二面:shell 命令。。不熟, 问怎么用shell脚本写内存监控,直接说不会。 后来又让我用shell查找统计一个文件里的几行记录,我说我用sql吧。。。。面试官无奈地点头了。后来问 linux 读文件的时候内核发生了啥?然后问了selector, poll epoll... 当时都没看(现在也没来得及看~~(>_<)~~), 就记得selector 监控多个io通道啥的,大致说了下。 算法题: minstack. 参见剑指offer,但是第二个栈不用每次都push min

  • 三面:开放题。 问了搜索相关的。 问好多url,里面可能有好多重读字段怎么存储。开始说前缀树,想了想,说先按照? / 分词, 存储倒排索引。面试官莫名觉得我不错,但我自己感觉二面三面答的都不好。

最后百度提前批只有这一个部门过了,刚刚笔试完,还没收到通知。又是无尽的等待。。

百度金融

  • 一面 java 内存结构, 程序计数器存的啥?为啥建立连接三次握手,而释放连接要四次挥手?(把过程说了下,说四次挥手是因为服务器还要发数据给客户端,发送完毕后还要确定一次,不知道对不对)算法题:1)两个字符串中,一个字符串相比另一个字符串少了一个字符,找出来这个字符。 我说排序后用双指针或者hash表,写了代码。2)算 a + b, 不能用加号或减号。说了用位运算,但是进位那里卡壳了,正确答案见http://blog.csdn.net/unimen/article/details/6776138
int add(int num1, int num2)  
{  
    if (0 == num2)  
        return num1;  

    int sum = num1 ^ num2;  
    int carry = (num1 & num2) << 1;  
    return add(sum, carry);  
}

3) 二叉树中序遍历,递归 非递归都写了遍。。。

  • 二面, 问项目,然后看到我有个模拟挖矿(比特币相关的东西)的小应用,和金融比较相关,就简单介绍了下。以为我懂区块链之类的,然而并没有。算法题!链表带random指针深拷贝的问题!! 我竟然忘记咋做了,一直在想不用hash表的那种算法,最后面试官提示可以用额外的数据结构,就说了用hash表存原节点和新节点的关系。完整答案:http://www.cnblogs.com/chrischennx/archive/2014/10/15/4026101.html

  • 三面 人生理想,职业规划,性格优点。 然后说我不大自信。以后面试要自信

链家

5个笔试题,现场笔试后再面试。

  • 笔试
    1 数组中超过一半的数。 http://blog.csdn.net/lskyne/article/details/9360639
    2 括号是不是合法匹配, 用了个栈
    3 m个连续珠子有n个不同的颜色,求最小包含n个颜色的连续珠子长度 http://blog.csdn.net/zhccl/article/details/8044449
    4 一堆ip访问记录(ip, 时间),如果10分钟内连续访问超过1024次就是非法的,找出这些非法ip
    5 判断循环依赖。(图里是否有环,应该是用拓扑排序)

  • 一面: 线程有没有自己的独立资源? 三次握手过程。 b+树 data存在哪?(叶子节点),叶子节点有联系吗?(有,链表相连的形式)为啥?(方便遍历,区间查找) 你觉得笔试题能答多少分?我说七八十吧,他说差不多。说他觉得没啥问题了, 问了解链家吗,我说。。租房卖房的吧。。。北京好多门头店啊。。。最后又说链家技术不错。。

  • 二面: 鄙视我的项目,觉得太简单。。 哎, 我也知道啊。。我也很绝望啊。。。写了个sql,问职业规划,我说做搜索相关的吧。。他说链家没有。。我说比较偏算法的研发吧,他说这说法好虚啊。。。最后说 嗯你等一下我考虑一下吧。。。然后过几分钟给我挂了。 感觉职业规划真的挺重要的,虽然之后不一定按自己说的做,但还是要大致有个规划,让面试官觉得 你这个人是对自己负责的。 所以我职业规划是什么,我研究生上的这么杂我也很绝望啊。。。。

网易有道

算法岗, 不match. 记得一个题大约是:
http://www.cnblogs.com/huangwei1024/archive/2012/09/28/min-len-substring.html

百度运维

数据库索引 用了什么数据结构, 和红黑树区别
hashMap 初始化多大, 什么时候重新扩容
两个链表判断是否有交点
翻转字符串 in-place "how are you" 转成 “you are how”
三次握手; 四次挥手什么时候是在 time-wait 状态
http 协议组成部分
jvm 垃圾回收, cms 收集器
elatic search 索引合并?
线程 interrupted 是进入什么状态
读写锁 : 读写锁特点:
1)多个读者可以同时进行读
2)写者必须互斥(只允许一个写者写,也不能读者写者同时进行)
3)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者)
jvm OM 异常 通常是怎么个情况, 如何调优。。。

华为优招

啥也没问基本。。聊项目也有没有引申出一些知识点

祖龙娱乐

1 给一个java 程序,说出执行期间,jvm各个内存存储数据的变化,包括各个变量存储在哪,对象构造的过程,程序计数器,栈的压栈返回过程。然后评价我答的不太具体,只是说了各个数据的存储区域。

2 申请了很多 对象, 会出现什么问题? 各个内存区域都有可能因为什么而出现问题?

3 垃圾回收算法
说了eden和 survivor 后, 让具体描述那个 8:1:1 怎么复制回收的

4 判断html 字符串是否合法, 给合法的标签列表, 要合法不能不同的标签相互交错。

5 account (aid, money)
设计 addMoney, subMoney transMoney(Account a, int money) 的线程安全的算法。
我写了之后,忘记考虑money的正负 是否溢出的情况,把我鄙视一番。 还有转账的方法, 两个对象都加锁,会造成死锁产生, 他问我咋办,我说一次都申请了,写的代码成了整个串行的了。 最后才想到 按顺序申请,可以每次先给id小的account对象加锁, 然而他已经对我彻底失望。其实感觉一开始就对我没抱希望的样子。

头条校招面试

  • 一面:

    (1)大文件100亿个数字,求前m大的数
    (2)进程和线程区别,啥时候应该用多线程,啥时候用多进程。 线程的好处? 协程? http://www.cnblogs.com/lxmhhy/p/6041001.html (3)索引为何用b树 不用二叉树 http://database.51cto.com/art/201504/473322_all.htm 索引很大需要存到磁盘,高度小了,需要的io操作少
    (4)两个有序数组,求第k个数, 说了双指针的做法,O(k), 面试官让想更优的, 没想出来。应该是用二分查找的方法。 http://bookshadow.com/weblog/2015/02/05/find-kth-smallest-element-in-the-union-of-two-sorted-arrays/ (5) 看什么技术类的书籍,讲讲jvm里都讲了啥。
  • 二面:

    面试官脾气很好。。问了下数据库事物隔离,一开始说不大了解,突然想到之前看了脏读,不可重复读,幻读。。说了之后面试官也没深入问。http://www.cnblogs.com/zhoujinyi/p/3437475.html 然后问mysql的一些问题,为何一般不用select *, 要用select 需要的字段呢?尝试回答了,不大对,面试官就解释了一遍。。我忘了他讲的啥了。。。好像之前还被问到 limit 分页的数字大为啥效率会变低。。数据库不太了解。
    然后问一个shell, Ctrl+C 发生了啥。。我扯了一堆进程销毁的过程。。结果面试官是说和信号量有关。。尴尬。。
    算法题。。面试官拿了俩题,让我选,我一看。。最大连续子数组和。。。然后写完了, 扯了一会,说。。你写个二分查找吧。。我就迅速写了个。。 他看了一眼。。然后结束了面试。。
  • 三面 :

    问了jvm的, gc, 怎么判断对象存活。 volatile(两个特性) sychronized:
     修饰一个类,其作用的范围是synchronized后面括号括起来的部分, 作用的对象是这个类的所有对象。
      修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法, 作用的对象是调用这个方法的对象;
      修改一个静态的方法,其作用的范围是整个静态方法, 作用的对象是这个类的所有对象;
      修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码, 作用的对象是调用这个代码块的对象; http://wiki.jikexueyuan.com/project/java-concurrency/synchronized.html 实现LRU O(1) 但是面试官描述得有问题,说使最近用次数最少的blabla..,我说你说的是LFU啊,不是LRU. 他说差不多!!??说了LRU的数据结构,他又说加过期时间怎么整。。 我只能想到O(n)遍历删除的。
    后来写了求树中两个子节点直接最长距离的。。差点没写上来。 一开始想对每个节点求左右高度,有重复计算,后来写代码时,就想到在递归中可以求一遍就好了。写好了面试官问了下边界情况,检查了下没问题。。然后说今天面试结束了,日常提问环节。。 瞎问了点问题。。

最后面头条的感受:感觉面了假的头条。。 头条实习一面挂的阴影还在, 咋还能给我终面过了。。面试真是运气+眼缘啊。。忐忑。。 hr说九月中下旬给通知,不一定给offer

小米内推

一面: 瞎扯项目, 算法题: 二维数组中,每个元素有个数字,求某一个点到任意一点的sum和(只能向右或者向下) dp记录到每个点的sum。 第二个题, 求一个字符串,包含一个字符集的最短长度。网易有道一面题

二面: 项目,讲了java 内存。进程线程。 26进制转换。 一堆ip中,查找一个ip是否存在。

最后问能不能实习。。。说应该有hr联系的。 只能等。。。

#百度##微软##小米##360公司##华为##字节跳动#
全部评论
头条内推码4EXU9YH 投递链接:https://job.toutiao.com/campus/
点赞 回复
分享
发布于 2017-09-06 08:05
好贴
点赞 回复
分享
发布于 2017-09-06 19:21
秋招专场
校招火热招聘中
官网直投
厉害!
点赞 回复
分享
发布于 2017-09-06 19:29
给队长递茶!
点赞 回复
分享
发布于 2017-09-06 19:31
厉害
点赞 回复
分享
发布于 2017-09-06 19:34
计算所大佬吗~
点赞 回复
分享
发布于 2017-09-06 19:40
竟然是妹子。其实微软的实习真的没有想象中那么好,业务基本都定型了,开发岗没有太多锻炼机会,算法岗如果不在msra也不会有太多实践机会。关键转正相对互联网公司而言要求高很多,周围不少人连转正面试机会都没得到。
点赞 回复
分享
发布于 2017-09-06 19:46
哈哈哈,猜猜我是谁?好腻害啊。。我要失业了o(╯□╰)o
点赞 回复
分享
发布于 2017-09-06 21:04
哈哈哈,哈哈哈,猜猜我是谁?好腻害啊。。我要失业了o(╯□╰)o    北鼻姐棒棒的
点赞 回复
分享
发布于 2017-09-06 21:07
这么好的面筋
点赞 回复
分享
发布于 2017-09-07 09:37
360面试咋这么水
点赞 回复
分享
发布于 2017-09-07 10:17
小米每次都问IP是否在范围内,哎
点赞 回复
分享
发布于 2017-09-08 23:24
剑指offer都是用cpp实现的,没有这方面基础咋办?
点赞 回复
分享
发布于 2017-09-09 17:39
所以,你有木有男盆友?
点赞 回复
分享
发布于 2017-09-12 16:08
小米来信了吗 我也等HR来信
点赞 回复
分享
发布于 2017-09-15 14:18
楼主 我也是山东的啊
点赞 回复
分享
发布于 2017-09-15 14:22

相关推荐

15 146 评论
分享
牛客网
牛客企业服务