这是校招以来,我参加的第一个面试,总共三轮技术面+1轮HR面;暂时还不知道结果。
笔试
内推参加的一次面试,由于编程题很简单,虽然两道全AC,但因为前面选择题做的不太好,并没有收到面试通知;9月10号的第二轮笔试,有了第一次笔试的经验,认真做前面的选择题,后面两道简单的编程题都AC,于是乎就收到了面试通知;
一面(50分钟)
自我介绍
简单介绍了一下自己没写在简历的个人经历,爱好;
对测试开发岗位的理解以及为什么要投递这个岗位?
为面试这个岗位做了哪些准备,是怎么学习的(我自己并非是科班出生的)
手上有几个offer?
这是我校招的第一场面试,手上并没有面试;
介绍一下项目(逻辑要清晰)
首先介绍项目的背景,为什么要做?要达到什么目标
在稿纸上一边画项目流程图一边讲解,让面试官跟着自己思路跑;先讲大流程,再讲小流程,逻辑分明;
着重讲自己在这个项目中的亮点,如算法改进,支持扩展等(有数据支撑最好)
C和C++内存分配有什么区别
我会错了面试官的意思,回答成内存布局的区别,面试官让我回去再看看
当时没有纠结这个,最后问我有什么问题要问,我就问道了这个,顺便就回答了;
熟悉linux吗?用过哪些命令
这种问题很简单,就拼命列出一些命令啥的;
熟悉网络编程吗?能写一个socket编程服务器端程序吗?
之前看过这方面的书,了解,但没有实际项目经验;请让我画画三次握手,我在写这个吧
画出三次握手之后,然后补充三次握手之前之后分别需要调用哪些函数,如connectbindlisten等;
实现intatoi(char*)函数;
网上的原题,先考虑边界条件,然后再开始写;
对于上面的写的函数该如何测试?
这是一个函数,测试的方向主要是边界值进行测试,而我在写函数初期就考虑了这些边界值
拓展:我觉得做开发地人应该有一些测试思维,blabla
找出字符串中第一次出现一次的字符中。
网上原题,hash表就好;不用hash也可以用26长度的数组,思维一样;
面试到这里就差不多,你有什么想问的?
我就问了C/C++的问题,为什么让我回去看;他就告诉问的是内存分配,不是内存布局;
我不仅回答了C/C++内存分配的问题,还试图给他讲底层操作系统是怎么实现的,他打断了我,一面结束
二面(80分钟左右)
一面结束,刚出门和同学说了两句话,就被立马叫进去参加二面了,这个时候我很渴(刚说完我分钟),我就找工作人员要水喝,喝了几口水再去面试;
自我介绍
选一个你觉得很深刻的项目或学习经历介绍
挑了一个阅读过开源代码的项目,将项目介绍完之后,就从项目中学到了什么;
开始接触开源代码,读的时候虽然没读懂,但尽全力把他用起来;
用起来之后,还要考虑评测项目的性能瓶颈之类的,而不是简单的实现功能;
这是通信项目,我并没有讲清楚。所以还要理清逻辑,把项目能讲得直白;
python中有哪些基础类型
虽然这个项目使用python写的,但我没有怎么看python的基础原理之类的,我只能从C++的角度进行类比尝试回答这个问题:float/doubleint/short,str;(其实回答并不知道对不对)
再就是高级数据类型list,字典,元组等;
补充:在做这个项目之前,我并没有怎么接触过python,因为这个项目的需要,我在很短的时间熟悉python基础语法,写了这些东西;(想体现学习能力吧)
知道python里面的深拷贝,浅拷贝吗?
实现一个字典数据结果的深拷贝?可以用C++或者python实现?不过我还是建议你用python?
最后选择python实现的,用了递归的思想
判断key值对应的val是否是基础类型,如果是基础类型,直接赋值;如果不是,就进行递归调用
实现unique函数,一个排序的数组,将重复的数字放到数组后面,要求前面有序,重复的数字可以无序
我回到用hash表存储,遍历两次就好了(秒答)
你为什么用hash表?
因为hash表查找元素的复杂度是O(1);空间复杂度是O(n)
这是一个有序数组,为什么不直接新建一个数组,直接进行拷贝呢?可不可以优化?
想了大概一分钟之后,就把代码写出来,然后面试官根据我的代码进行了简单的几个提问
懂数据库吗?
完全不懂,不过最近已经开始看这方面的书籍了;
还有一些问题,忘了……
你有什么想问的?
从您的角度来看,前面我对测试开发岗位的理解有没有问题?需要哪些方面的技能
虽然我某些知识,技能点有些欠缺,但我有什么特点优点blabla(用事实和数据支撑的)
三面(45分钟)
在外面休息了一会,就开始进行第三面;三面面试官一副完全没有睡醒的样子,感觉很累很累,而且面试过程中几乎很少说话,偷偷玩自己的手机吧
自我介绍
介绍一下项目(和第一个面试官介绍的一样)
看到面试官在我介绍完之后,没有说什么,我就继续介绍其他项目
项目介绍之后,将通信项目的某种访问机制和操作系统的竞争的机制进行横向比较和对比
进程间通信有哪些?
做道算法题吧:找出连续重复最长子串,如abcabcdef应该范围abc;
这个题目我直接回答了最暴力的解法,然后就跟面试官说,我看看还有没有优化的解法
结果想了很久,一直想不出方法;面试管就改了一下条件,找出两个字符连续重复次数最多的子串?
这样说了一个大致的解法之后,就开始考虑能不能将那种算法用在第一个子问题上?结果失败
你手上有没有offer?
未来的职业发展规划?
面试结束了,你有没有想问的和想说的?
和二面的回答套路一样,然后出去等结果
HR面
以为三面要挂的,结果竟然顺利到达了HR面;三面的面试官是个漂亮的小姐姐。
我先看看你前面的面试记录,你的三面面试官说你很有意愿去某ju厂?
你为什么要来滴滴?如何看待滴滴
然后如何择业,考虑未来的发展方向
喜欢什么样的工作氛围?
大概都是这些类似的问题啦
总结
校招的第一场面试,能面到HR面,算是一个好的开始吧,不管最后能不能拿到offer;在这里分享一波面经,积攒一些人品,求个好兆头吧;
值得改进的地方:
1.知识的查漏补缺,数据库、计算机网络等
2.项目该如何以更强的逻辑直白地讲述出来,还得再多多锻炼