2018年3月26日,我迎来腾讯sng事业部的面试。作为我人生中第一次参加大公司的面试,当然要记录下来了。我投的是机器学习算法岗,所以面试官先上来聊了聊机器学习的项目流程,这块属于自由发挥阶段,我从数据采集一路讲到了模型训练。面试官听完后便开始提问:

  • 你会安卓吗?(写过一些demo没有做过项目)
  • java怎么样?(会,但是没做过项目)
  • 知道多线程与多进程么?(用过,不敢说会了,主要是暂时没有用这个的需求)

问到这里我心里已经慌了,不知道为什么一上来问这些问题,我以前做嵌入式,现在主要研究机器学习这块,不论是哪个领域以上的一些东西都没很深入的使用过,用安卓写过蓝牙遥控器,学习java主要是了解到什么是面向对象,多线程多进程也就是写python爬虫的时候用来加速啥的,没有深入学习过。面试官问完估计心里有底了,就说来问一些基础的知识:

  • 哪些排序算法快?(我倒是头一次看到这样子的问法,想了想先把归并,快排,堆排算法说了下,后来想了想补充了桶排序和计数排序,强调了一句这些属于外部排序算法。)
  • 快排的时间复杂度?(看了不少面经,快排的确考的非常多,平均复杂度nlogn,最坏复杂度n*n)
  • 什么是哈希表?(核心就是哈希函数喽)
  • 链表和数组的区别?(很简单的问题,不知道为什么会问这个)
  • 线程和进程的区别?(excause me?我才说了不会的)

个人感觉这些题目都太简单了,随便一个刚学数据结构的人一个都会做。所以面试官这时候给我的感觉就是不怎么注意基础知识,比较注重开发水平,我本以为接下来会问到机器学习的原理,没想到面试官说了句结束了,很懵逼地挂断了电话,不断在回想一个问题,我投的是啥岗位?不久之后得到了朋友发来地反馈,凉凉,理由是知识面太窄?
通过这次面试,我意识到了自己还是需要学习很多常用的开发知识,过段时间要开始u3d的学习了,希望能通过u3d来深入地理解这些知识。