本人湖南大学大三本科生,内推阿里巴巴,简历投的部门是蚂蚁金服,C++研发工程师。从来没有被面试过,所以不知道该准备写什么,就准备了一下做的项目,项目介绍,结果分析,流程,做项目中遇到的困难,怎么解决的,大概就这几个方面。
我是下午上课的时候接到的电话,当时也不方便,所以就另外约了一个时间,小哥哥也很好说话。但是我在面试之前非常的紧张,或者说是激动,毕竟是人家的第一次。晚上开始面试后,简要做了自我介绍之后,面试官给了我一个网址,是阿里做在线测评用的,出了一道链表的题,获取链表倒数第n个位置的节点,数据结构的基础题,挺简单的,但是要注意代码规范,传入的参数是静态参数,返回值,对参数进行判断等等的细节问题。第二个题稍微麻烦一点,就是问一个字符串需要做几次操作(增加、删除、修改)才能变为另一个字符串,这个但是没考虑清楚,首先两个字符串相等的部分删掉,然后用一个递归操作,每次删除较大字符串的一个字符,直到两个字符串删的干净,每次递归返回值都是加1,这样对于增加删除的操作可以做,但是对于修改的就不可以了,比如“b””c”的结果是1,而用我的算法做出来是2,所以要在删除的时候在进行判断,如果删除重复的字符之后剩下的位数相同,那么直接就返回位数作为操作的次数,如果不同,就返回较长字符串的长度,当时应为考虑的太久所以面试官有些反感,就没有想到最后一步。然后面试官又问了我一个排序的时间复杂度比较,没答上来,其实还是很简单的,就是没复习数据结构,真的菜了,我也知道这次面试准备的不充分,没抱太大希望,面试官最后也给了我一些建议,要加强基础知识的学习。看来要把数据结构实现一遍了,下一次加油。
一面还是很注重基础的,数据结构,基本语言,操作系统,计算机组成原理等,研发岗位真的很注重数据结构。