2017华为面试--开发工程师
9月10号投简历。
9月13号11点做测评。
9月13号晚上做的在线笔试。和往年一样,是3道大题,分别是100,200,300分。ac一道即可获得面试资格。
9月14号收到一面通知,短信通知4点面试,一直等到了下午4点半才开始。
面试官,挺年轻,30岁左右,全程不苟言笑,标准技术男一枚。
上来自我介绍,后来问项目,(项目是大数据方向的,和软件开发不怎么沾边),面试官打断了我,问项目中写了多少代码?(其实没有写过,全是改的bug),当时不明觉厉说大概1000行左右吧,紧接着,对,紧接着,问写代码用了什么数据结构。(想哭,,代码看不懂,谁知道用了什么结构啊。。),真是自己挖坑自己跳啊。然后只能实话实说了,没有怎么写过大段的代码,一般都在改程序的bug。。然后,然后,又问我怎么改的?(md,百度谷歌改的啊!!),就是这个代码部分问了好久,看来开发类的岗位当真要有过开发经验啊。
下面一个话题,面:为什么想做软件开发啊?我:。喜欢感兴趣。。
面:为什么学习c++啊?我:本科学的c,研究生就延续过来了。
面:你说你喜欢c++,那么他和其他语言相比有什么特色啊?我:封装,多态,(继承当时死活想不起来。。)。又分别解释了一下。面:在哪背的答案啊?我:。。。。
面:详细的说一下多态吧?举个类里面的例子?然后举个string中多态的例子?我:多态分为静态和动态,静态主要是重载,动态主要是类里面的虚函数,(举了一个虚函数的例子)。string函数里面多态的例子真的没有想起来。。
面:函数重载具体是怎么实现的?我:。。。。(不会,现在才知道原来底层的东西也得会。)(我回来百度后表示也没有看懂。。)
面:本科到大学最喜欢那门课程?为什么?我:算法,老师好。(面试官不满意)
面:学过平衡二叉树和红黑树吗?说一下他们的应用场合?我:。。。(不会了)。
面:你能5分钟写一个电梯的调度吗?我:。。。(不会)
面:你了解TCP/IP吗?我:。。。(不了解)
面:你会mysql,为什么选择学习这个呢?我:实验室都在用啊。
面:如果你们实验室要处理大量的数据,怎么进行优化?我:。。。不知道。
面:你熟悉数据结构吗?我:知道,栈,队列,树,链表,图之类的
面:图的深度优先和广度优先有什么区别?分别适用于什么场合,举个例子?我:。。。举不出来。
面:栈和队列分别解释一下,并举例子说明一下什么时候会用到?我:栈是先进后出,递归就是栈的思想,队列是先进先出(队列没有举出来例子)。栈举例子时用的是递归。
面:放到栈里面的是函数的什么?我:函数指针。面:还有呢?我:不知道了。面:参数列表放不放?我:放。面:返回值放不放?我:放。面:还有呢?我:真不知道了。。
面:你本科有过开发经验吗?我:没有,只是研究生阶段有。
还有好多好多问题,都几乎没有回答上来。
最后,面:有什么要问的吗?我:也没有啥,就是我还有机会吗?(知道自己肯定挂了,就不想多说了)
面:这个不是我决定的。你不想了解一下公司的文化,(啥啥啥给忘了)?我:想,餐饮吧(当时真的是饿极了)。。。
面:开始讲各种好吃的,从北京的讲到南方的。后来又讲了一下晋升机制什么的。我:(当时只是很饿,,)
面:还有问题吗?我:没有了。
面:你回学校等消息吧。我:那我知道了,我肯定被挂了。
即使面试官在反驳,但是我知道肯定挂了,因为可以二面的话,最后一句话是“你在外面等一会吧”。。。
不管怎么样,又有了一次面试经验,可能软件开发的确不适合我,毕竟我没有开发经验。
仔细想想,重头再来吧,虽然好多公司已经错过了。
血的教训,找工作前,一定要清楚的认清自己会什么,手里有什么,然后就坚持下去。这样,面试经验才会有用。
后记:
1.红黑树放弃了追求完全平衡,追求大致平衡,在与平衡二叉树的时间复杂度相差不大的情况下,保证每次插入最多只需要三次旋转就能达到平衡,实现起来也更为简单。广泛的用于c++的stl中,如map和set都是用红黑树实现的。
平衡二叉树追求绝对平衡,条件比较苛刻,实现起来比较麻烦,每次插入新节点之后需要旋转的次数不能预知。windows对进程地址空间的管理用到了AVL树。
B/B加树磁盘文件组织数据索引和数据库索引。
字典树用于统计和排序大量字符串。如自动机。
2.在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。合理使用索引,避免或简化排序,消除对大型表行数据的顺序存取,避免相关子查询,避免困难的正规表达式,使用临时表加速查询,用排序来取代非顺序存取。