@maorongrong
2019-08-20T16:39:46.000000Z
字数 1313
阅读 615
基础
实习生招聘又是另一个话题了。学生还没有踏入职场,没有参与过正式项目,也并不知道如何展示自己的工作能力。所以这种场景下更适合问答式的面试。除非学生自己在简历上写了很多项目经历和框架技术,否则没有必要主动聊起,因为他们肯定没有精力把这些技术原理钻研的和你一样深度。
对学生的考察还是应该注重他在学校里学习的东西,毕竟这才是他在学校中的第一要务,也是他最擅长的东西。也就是:算法与数据结构、编程语言、计算机网络、计算机组成原理、计算机图像、编译原理、数据库原理。(同理也是学过的才问,专业课里没有的就不用强行问了)
从这些问题里不但能考察计算机基础,也可以问一些开放性问题来考察学生的技术思维,这点也很重要。
比如开放问题类:
什么是互联网?
当你在浏览器地址栏输入 google.com 然后点击回车,这一切的背后都发生了什么?
网络延迟是怎么来的?
编程语言是怎么运行的?
为什么计算机里要用二进制?
不同类型的数据是怎样存储在内存里的?
不要求回答的准确,主要看看学生有没有想过类似的问题,有没有技术好奇心和探索精神。
而基础类的问题主要靠在线写代码,我最近常用这个考试系统:
能写出一个 O(n log n) 的排序
二叉树的三种遍历,分别递归与非递归实现
用数组模拟栈、队列、循环队列
代码计算排列组合公式
链表的反转,双向链表与 LRU
图的拷贝,最短路径的计算
栈与递归、尾递归优化,以及原理
数据类型、指针、内存与堆栈
类似的笔试题,差不多是各种 OJ 上简单到中等的难度,不能太难,主要是考察基础的编码能力,代码的优化和健壮性。
尽量少问实战和框架类的技术,尤其是前端相关的,这些内容学生们在学校里学不到,暂时不会很正常。要相信以一个 985 学生的学习能力,只要基本功够好,工作后掌握这些知识并不需要多长时间。招学生应该看重潜力,基本功和技术思维才是关注重点。
要尝试让自己进行全栈能力,自己一个人能够完成后端到前端的实现,前端主要框架建议学习react及其生态,学习eslint5,javascript,了解基本html页面组成,前端学习参考:http://www.ruanyifeng.com/blog/2016/09/react-technology-stack.html