三分钟看懂程序员面试问题(一个小白程序员的4次面试心得)
三分钟看懂程序员面试问题(一个小白程序员的4次面试心得)第三个问题,面试官问我关于es6的问题,问到node.js的掌握程度,我说我用node.js通过express,mysql等一些模块做出了自己个人博客,有什么功能等等。第二个问题,面试官问了一下我封装JQ的时候具体使用了哪些方法,是如何封装的?我当时就简单介绍了一下基本功能,比如获取元素的一些方法,获得宽、高,定位位置,事件,动画等一些基本功能,然后简单讲了一下该如何实现。好在我简历上写的东西,比如自己的技能、作品,都是比较丰富的,尤其是项目经验非常丰富(在学校,老师们早就带着我们做过很多次实训项目了),这个技术面试官就着重问了一下我都会哪些技能。下面是我的简历中关于技能的介绍:面试完之后,我猜面试官肯定是一个全栈工程师,比如他问到:H5的一些新增特性有哪些,我没有做具体介绍,只是简单将H5的一些新增特性说了出来,比如新增了一些语义化标签,拖拽,本地存储,离线存储,多线程,地理位置,多媒体
先做一下自我介绍,本人今年25岁,是一名前端开发专业准毕业学员,最近面试较多,所以颇有心得。下面,就我的面试经历跟大家做一下分享:
01
第一次:婉拒 15K offer!
第一次面试,当面试官让我做自我介绍时,我有点紧张,当时不知道是脑子不好使还是怎么了,就说:我叫xxx,来自xxx,毕业于xxx,然后就没再说话了。面试官都愣了一下(长这么大,我从来没有这么快就介绍完自己的)。
好在我简历上写的东西,比如自己的技能、作品,都是比较丰富的,尤其是项目经验非常丰富(在学校,老师们早就带着我们做过很多次实训项目了),这个技术面试官就着重问了一下我都会哪些技能。
下面是我的简历中关于技能的介绍:
面试完之后,我猜面试官肯定是一个全栈工程师,比如他问到:H5的一些新增特性有哪些,我没有做具体介绍,只是简单将H5的一些新增特性说了出来,比如新增了一些语义化标签,拖拽,本地存储,离线存储,多线程,地理位置,多媒体标签,音乐视频……
第二个问题,面试官问了一下我封装JQ的时候具体使用了哪些方法,是如何封装的?我当时就简单介绍了一下基本功能,比如获取元素的一些方法,获得宽、高,定位位置,事件,动画等一些基本功能,然后简单讲了一下该如何实现。
第三个问题,面试官问我关于es6的问题,问到node.js的掌握程度,我说我用node.js通过express,mysql等一些模块做出了自己个人博客,有什么功能等等。
由于面试官比较看重我的技术能力,最终我顺利拿到了15K的offer。但我还是觉得薪资与能力不匹配(薪资低了点),婉拒了。
02
第二次:因缺少相关经验被拒
第二次面试就没有那么愉快了,这家公司看重我的项目经历,技术方面的问题问得很少,主要是问了vue,vue的原理,对微信小程序的看法,由于我缺少微信小程序开发方面的经验,我的回答或许让他不太满意吧,最后面试官留下了一句等通知吧,我就已经知道自己没戏了。
03
第三次:因要求高自觉无法胜任
第三家是一个做通讯的公司,他们公司个个是大牛,能用c语言和C++语言开发操作系统。对于我的技术能力,他们还是比较认可的,问了我很多前端方面的问题,比如mysql的语法,视图之类的问题,但我发现,面试官对前端新兴的技术不是太了解,没有问我框架,只是问了我一些html、CSS原生的js的东西。
随后,我反问了面试官,公司对这个岗位的要求,他告诉我,这个岗位需要较高的技能,包括前端系统界面设计,即用前端做出界面,通过后台语言去把ajax请求存数据库。如果有需要的话,我还得出差去跟客户模拟展示这个功能。另外还要会一些基本linux系统的指令,能读懂c语言、c 的源码……
听完这些要求,我感觉我可能无法胜任,这起码是工作了三、四年的前端技术人员才具备的能力。
04
第四次:因薪资要求高被HR拒绝
第四家公司非常高大上,位于腾讯旁边,整个面试过程我都非常愉快。面试官主要在技术方面问了我一些问题:在之前的项目中,是如何解决具体问题的?
我做了详细的回答,主要内容如下:
我做过一个仿京东首页的静态页面,他问我是如何适配手机端页面的?我说我用了rem布局,他让我说rem布局的原理。当我说完后开始疯狂夸赞rem的优点。
随后,他问了我封装JQ的实现原理,我说到功能的时候,提到了动画,他让我给他讲一下实现过程。
接着,他又问了我一个关于CSS的问题,CSS的定位是什么?有哪几种方式?分别有什么不同?我回答的不是那么完整。当被问起还有没有其他特性时,我确实是想不起来了,所以有点遗憾,当时没有说出来。从这一点可以看出,我整体的知识体系虽然学了,但是掌握不到位。
最后面试官问了一个关于区块链的问题:区块链到底是干什么的?我简单回答了一下。他告诉我他们公司想做这方面的业务,准备组建一个部门,希望我可以来这里工作。最后,我俩相视一笑,面试就结束了。
后来,HR过来找我谈薪资,可能是我要的太多,HR让回去等通知,结果不了了之……但我真的很想去这家,只可惜没有这个缘分。
05
面试经验总结
后来,我总结了一下这4次的面试心得,得出如下结论:
1.分清问题类型
回答问题要分清提问对象,面试一般分为技术面试和HR面试,形式上很少有群面,少部分企业可能会有一个交叉面,不过总体来说,技术面试官基本就是考察你的专业技术,而HR主要看这个人的综合素质以及家庭情况,符不符合公司要求。一般来说,技术招聘,只要通过了技术层面的考察,HR方面基本是没有问题的(也有少数企业HR会刷人,比如我上面遇到的第4家公司)。
2.简历表述有技巧
在措辞上做好区分,比如在简历上,你写着:熟悉Java,了解Python,精通C语言,这样的表达,方便面试官有针对性地着重去问你擅长的东西。
再比如你在简历上写着简单了解Python,面试官自然不会深入去问。如果你写着熟练掌握js设计,那面试官可能会深挖。
面试其实是有一定技巧的,不过也慎重提醒大家,技巧不是投机取巧,是起到辅助效果的,实力才是硬道理。
3.展示自我要扬长避短
有些问题,如果你不是特别熟悉,可以先简单说两句,然后告诉面试官你不是特别熟悉这方面。如果问到你特别擅长的地方,可以多说一些,把整个面试过程往你熟知的地方引导,体现出你的优势。
4.回答问题要不卑不亢
面试过程中的态度也要掌握好,不要自卑,也不要傲娇,自信地回答出每个问题,尤其遇到不会的问题,适当做一些引导,实在不能引导,也可以先打打擦边球,和面试官交流一下问题,看起来像是没听懂题意,这个过程也可以再自己思考一下,如果觉得这个过程可以免了的话,也直接表明一下这个地方不太熟悉或者还没有掌握好,千万不要不懂装懂,强行回答。
5.面试前要提前演练
很多公司会让你现场手写代码,所以是否系统掌握了知识点是很关键的,这样临场发挥时才不至于慌张。另外一个重要的加分项就是,你所做过的项目和积累的项目经验,面试前一定要多次演练:这是一个怎样的项目?用到了什么技术?每项技术是如何运用的?运用过程中是否遇到过问题?该如何解决?等等,这些都要烂熟于心。
以上就是我的一些经历和体会,希望能给大家带来启发。作为一名前端开发人员,我会一直在这个圈子里“折腾”下去的,一直保持现在的努力和热情,争取创造更好的明天!
想要转行IT或者刚毕业的大学生们,希望你们能吸取我的经验和教训,在面试过程中尽量知己知彼,避开大坑,少走弯路,祝大家早日拿到理想的offer!