关注程序员耳东,编程转码真轻松
上周组里招实习生,在笔试成绩比较好的里面挑了一个某985的研究生,科班生
因为候选人学历比较好,而且今年公司hc确实不多,所以大家期待还是比较高的,希望可以赶紧面完发offer来实习
面试前我们针对简历做了一些面试题准备,对于实习生我们的面试要求不会很高,考察的角度主要是这么几方面:
首先是会问简历上的实战项目,实习生没有工作经验,大部分项目都是课程设计或者跟着网课做的项目,所以这部分要求不是非常高,只要能说清楚自己做了什么,用了什么技术就好
然后是计算机的基础,比如说数据结构、操作系统、网络、编译等等,这里面最重要的就是数据结构与算法,一般稍微好点的公司都会在面试的时候加上一两道手写算法题
最后还有你面试的这个方向所涉及到的知识点,你面的Java那就问Java基本功,你要面前端那就问JavaScript、CSS
基本上一个完整的面试就包含这些东西吧
OK,言归正传,说说上周这个面试都问了什么吧
首先问了一些计算机基础知识,无非就是围绕着操作系统的线程进程、内存,计网的网络分层、握手,数据结构的链表、树等等来问
这里面有一个比较明显的特点就是,候选人在回答概念性的问题还行,但是在需要白纸写数据结构的时候表现的就不太好
不过我们也不会因为一个环节表现不好就直接挂掉候选人,面试的时候还是需要全面的考察
然后我们根据简历上的React项目问,因为简历上的项目比较简单,这个环节比较短
我们只问了ta在项目里面使用了哪些组件库,有没有自己封装过组件,Class组件和Hooks等等
这个环节无非就是听一听对于框架的熟悉度,对于实习生来说不会要求对框架掌握的特别深刻
这个环节回答的也不太好,给人的感觉是照着视频敲了一遍但是不具备使用框架开发功能的能力
最后我们问了一些JavaScript相关的东西,也就是这个环节让我们挂了ta
首先我们问了工作中最常用的Ajax,让面试者手动实现一个Ajax的请求方法,这个问题主要是想考察面试者对于Ajax请求流程、请求状态、HTTP状态码以及基本的编码能力
然后我们问了一道手写编程题:解析url上面的search,比如说url是"xxx.com?name=erdong&age=88",需要把它的search部分解析成对象,也就是{ name: "erdong", age: 88 }
这个题目考察的点比较多,首先是对于浏览器属性的熟悉度,比如说window.location.search,还有就是对于字符串的处理,因为需要把search字符串解析成key和value对应的部分,过程中还涉及到对Object的处理
如果这个题目可以快速的写出来,那么我们还能继续往下加要求,比如如果有key重复的时候合并value为数组,如果有value是中文的时候需要把它encode一下
其实考的这两道手写题都不难,但是回答效果确实不太好,过程中暴露出编程基本功不好的问题,最终还是决定不通过
事后我们也在想是不是我们问的太难,结合其他部门以及同事之间的交流,我们的结论是这个面试题目难度是合适的。但是这个候选人回答的效果不好,我觉得80%的原因是在于编程基本功不好,可能是平时代码写的不够,编程训练不到位
所以建议大家在平时学习和准备面试的时候,可以专门找一些有复杂度的程序去做专项练习,比如说实现工具函数库、常用组件库、微型框架等等
我推荐我之前收集的一些JavaScript编程手写题目,大家有空可以去做练习: