昨天收到了百度的正式实习offer,实习寻找暂告一段落,剩下的就是和导师间的周旋了。虽然职位不是最理想的,但真的尽力了,也许现阶段的能力真的只能前进这么远,能拿到offer对自己来说已经是一个突破了,希望自己能够更加努力,在明年毕业时能够拿下理想中的职位。
虽然笔试时大部分题目都做了,但不敢太乐观,毕竟有浙大在那里。笔试完当天好像就有同学收到了面试通知,招聘状态也变成‘笔试已通过’。自己屁颠屁颠去查,结果状态也还是‘简历已通过筛选’。连续两天都是这样的,以为真的悲剧了,结果晚上九点多接到电话了。
到达指定地点--也就是宾馆的一间房,那时里面已经坐着两个同学了,不禁的愣了一下,难道是群殴?坐下来后开始想点对策了,总不能毫无准备的去群殴吧。后来才发现不是群殴,那间房原来是HR的。。。感觉百度应该也不会这么变态的,现在知道技术岗位是群殴的只有华为。
面试官是位GG,不过他讲话有点小声,电话中就听出来了。
先前的论坛里就看到有网友的评论说比较喜欢百度的没自我介绍,不过问四六级。这次果然也没有自我介绍,简单的聊了几句就开始做题了。
写个链表转置
对这种题目想法总是有的,平时也就懒的去细想,去写。反正平时也没真正去实现过,就趁这个机会写下,这才发现如果真的要写,是没那么好写的。写完后GG看了说,再检查下看有什么问题。看了半天,没看出什么问题,然后解释给GG看。GG总算说差不多了,大概是两个人的思路不同,一下子没看懂。然后说如果函数为void,那怎么办? 加个引用形参、全局变量。GG说还有其它的吗?“想不出来了。“ “其实你可以用个指针引用啊,引用形参没那么好用,不知道结点结构,不好赋值。” 冏,指针引用平时没用过,真的没想到。。。
接下来就是谈项目,研究方向,对网络编程及多线程了解多少?
这一遍是弱区,跳着回答的。
问:”C语言中内存分配问题”
在纸上画了个图,然后讲解,感觉GG还是比较满意的。
问:“如果频繁的new, delete,会存在什么问题?”
答:“开销比较大,效率上可能有问题。”
问:“如果频繁的new, delete,会存在什么问题?”
抓着头皮在那想啊想,最后轻轻的说了句不知道,好像GG没听到似的,没听到答案不罢休。
又想了会,弱弱的说了句“碎片问题”,还真的猜对了。。。
问:“那如何解决内存碎片问题”,“如果要你设计一个内存管理系统,怎样设计?”
。。。
随便扯了些,可能会出现哪些问题等。
问:“给奇数个数,求中位数。”
答:“每插入一个数,中位数位置只是在原来位置左移或右移一位,O(n).
问:”还有更好的方法吗?”
不是已经O(n)了,难道还有O(1)的?仔细想了下,原来是想错了。不是O(n),是O(n^2),因为每次都要插入。
“那就是平衡树了,O(nlgn).”
问:”设计一个微博”
晕了,从没用过微博,但大概知道怎么回事。记得在论坛上看到过QQ的设计等类似的讨论,只好边回忆边回答了。大概就是回答了些静态数据、动态数据分开存储,频繁查询和频繁更新的数据分开等,回来后才记起这个专业点的描述好像是叫作“读写分离”,反正大概就是这个意思了。然后又问了个人数据的数据结构怎么设计,画了个图讲解,反正也没什么经验,想到什么就说了,最后感觉还不算差。
面试持续了一个多小时,是面试最长的一次,感觉答的最烂的研究方向那块了。研究方向到现在都不知道,所以感觉答的一塌糊涂。回来后在论坛上有同学说状态已改了,去查了下,还是‘简历已通过筛选’. 晚上回去时回到拒信,被推荐到其它部门了,难啊。。。