记得是刚过完年的时候去滴滴面试的,整体来说滴滴新的办公环境一般吧,有点像我之前公司的跟我实验室差不多,但是给我的感觉是人还挺多的。
我面试的是产品技术部的大数据实习生,首先是简单自我介绍,问项目经历,面试官问得很详细,一定事先把简历上写的项目搞清楚,然后接下来就是做算法题,回忆下还能记得住的几个题,大概就是二叉树遍历、还有一个是给你n个数中有一对是重复的,让你把它找出来,我开始说二重循环遍历o(n^2,然后让优化,我说先排序然后再前后比较找重复o(nlgn),让继续优化,给提示说可以利用数组下标映射(刚开始没听清n个数大小为1~n),这就很简单了,直接把i+i放到对应的数组下标为i的位置,如果遇到A[i]==i+1,返回该i+1就行,这样只需一次遍历o(n)即可。)然后又问了,这种交换会不会出现什么问题(有可能死循环)
基本上这些完事之后就在大厅里等待回复了,当时坐在外面还有前台给你递水,对于我来说还是比较好的,至少不是让我那么紧张,大概等了有十几分钟,通知我进行二面,二面就比较专业了,没有问简历上的内容,而是直接做题,先问我对哪种编程语言比较熟,我说都不熟,只是用过一些常用的C/C++,java,python。面试官稍有尴尬,说他们项目组主要用C++,让我用先实现一个二叉树的层序遍历,我说要使用队列,但是STL中的QUEUE的函数记不清了,他说可以写伪代码,汉字都行;后又让求字符串的长度(提示:以‘