滴滴的面试是我有生以来最正规的第一次面试,面试官是位和蔼的帅哥,他先和我聊了滴滴的规模,然后带我展示了滴滴的工作区。边走边听着工作区程序猿们的高频键盘声我的心受到了冲击,氛围瞬间紧张起来,接着在我没准备好的的情况下开始了面试,面试的范围很广,包含:
Linux : 滴滴是要掌握linux的基本shell命令,并且在纸上完整写下,当时我只写了确定的五个,本来linux学的还不错,但是学到用时方恨少啊
Java :
简述,synonronized()的作用(防止多个线程同一时间调用此代码或者方法)
Sleep()和wait ()的区别,诸如此类…..
C++:
栈和队列队列在存储方式上面的区别(我开始没有意识到这个是语言的知识,上来就回答成了数据结构上的区别,真是没经验真可怕);
Malloc()函数动态分配在编程中是怎么应用的;
int 和interger的区别
写出max()函数,此题是我最丢人丢到家的题,我当时心想滴滴不过如此,但是结证明我错了,我草草的写下了max函数,但是却没有进行输入时的异常处理,哎呀,以前看的面试指南当时真的是抛到脑后了。
数据结构:
列举排序算法,选择最熟悉的一种手写实现代码,对于刚刚考完研,数据结构上面学到的知识,我写出了七大类常见的排序算法,然后进行细分,分析了时间效率,最后选择了最擅长的快速排序,实现代码。其实来之前,真的有些知识虽然熟悉,但是代码的书写期间排序过程重新组织代码,明显耽误了时间,我需要根据我深深的自责。
算法:考查了动态规划的内容,举例动态规划的实现场景,并且写出核心代码,当时我只写出了棋盘中的两个最优公式的推导,其实手心已经是⊙﹏⊙b汗了,我真的醉啦,准备的很不充分。
测试:
白盒测试种类,问我曾经在自己的项目中实现过接口测试和回归测试?我如实回答
黑盒测试的种类,以及等价类划分中:对于文本框输入内容进行有效类的判断,我绞尽脑汁的写出来八种,只记得面试官看到我这道题目的时候是比较满意的,我对于这道题的答案觉得自己尽力全力。
项目 :我在大学期间掌握的项目(两个APP),聊到了MVC模式,SSH模式...也聊到自己顺序的了脚本语言。最重要的是问到了面试官感兴趣的webservice技术,我用自己的语言给他讲完,他频频点头。
面试时间长答一个多小时,我最大的感觉就是书到用时方恨少啊,好像重新把没门功课都重新认真来过,面试完已经到了午餐时间,面试官带我走出滴滴办公区,他很客气,对此我觉得滴滴的氛围真是不错。走出公司,当时我的心情满是激动,虽然自己的表现不是很好,根本没有经验,但是我对于拥有第一次这么正规的面试很是高兴,我觉得自己迈出了第一步。