随笔- 300  文章- 81  评论- 807 

  最近观看了《前端跳槽面试必备技巧》,视频出举出了很多实用技巧,特在此记录。

  视频开头给出了面试的定义:面试是测查和评价人员能力素质的一种考试活动。具体地说,面试是一种经过组织者精心设计,在特定场景下,以考官对考生的面对面交谈与观察为主要手段,由表及里测评考生的知识、能力、经验等有关素质的一种考试活动。

一、面试准备

  在面试前,对公司的情况、技术栈、企业文化、要求的知识点等都得做足够的了解和准备。

1)职位描述(JD)分析

  对公司的分析,快速判断这个岗位是否与自己匹配,以及自己是否能Hold住该岗位。通过这样的分析能快速决定是否要去面这个岗位,再有针对性的做技术准备,包括知识内容、准备程度等。

  以京东金融的前端招聘信息为例,通过职位描述和任职要求(如下所列)来分析要求的知识点和技术栈。

职位描述:

1、负责京东金融企业业务PC端和移动端相关的前端开发工作;

2、负责企业金融App H5开发,完成前端界面与后端交互开发;

3、负责与后端工程师沟通协作、调试数据接口;

4、负责京东金融前端组件库的建立;

5、负责对现有系统的优化与重构。

任职要求:

1、3年以上相关工作经验,精通HTML5特性,了解HTML5最新规范,能够熟练运用HTML5特性构建移动端的WebApp;

2、熟悉当前流行的JavaScript类库,熟悉JavaScript面向对象编程方法;

3、熟悉Web标准,对表现与数据分离,HTML语义化等有一定理解,至少熟悉一种前端MVC框架并且具有实际经验(不限React、Vue、Angular等);

4、具有前端结构分析与设计能力,一贯坚持编写易读、易维护、高质量、高效率的代码,习惯于OOP开发方式;

5、对用户可用性,用户体验,用户研究等相关知识有深入的了解和实践经验;

6、对Web前端技术有强烈兴趣,能对Web前沿技术研究和新技术调研,有良好的学习能力和团队合作精神;

7、了解CSS预编译语言,例如Sass、Less等;

8、熟悉Web构建工具Grunt、Gulp,能够自己搭建前端构建环境;

9、有服务端(不限语言)开发经验者优先。

职位描述分析:

1、PC端和移动端相互交叉,说明至少负责两块内容,并且两者要求的技术栈不同,在面试过程中会考察两个方面的知识。

2、第一层是Hybrid技术栈,需要准备JSBridge知识;第二层是纯H5开发,与Native客户端没有交互,例如专题、活动等。

3、前端对沟通要求比较高,不仅要与后端沟通,还要与UI、产品等沟通,数据Mock(即模拟数据)是最基本的技能。

4、最重要的职位描述之一,前三条是基本要求,这一条是对岗位的难度设立,并且需要点时间准备,一两天内是无法完成的。要求具备三点要求:

(1)基本功扎实,对原生JavaScript、CSS的理解是否到位。

(2)之前是否有前端组件库的创建经验。

(3)是否通读过市面上其他的组件库源码。

5、难度与第四条相当,是否有能力对现有公司系统进行优化,并能一一列出,要做哪些步骤,做哪些工作,效果是什么。

任职要求分析:

1、3年以上是个虚数,不是重点。移动端在该技术团队中很重要,需要掌握HTML5的内容,并且暗含对新知识有追求。

2、要求对面向对象和原型链非常熟悉。

3、理解最新的Web标准,前后端数据分离,做好一两个小项目给面试官演示,语义化切忌通篇div,熟悉框架,不仅会用还要有实战经验,一定会问使用过程中遇到的问题。

4、这个不是初级岗位,初级前端精力放在业务上,对系统的架构和设计能力略有欠缺。准备一个项目的架构,把公司现有项目拿过来重新设计,包括目录结构、复用性、模块化、自动化测试等,要想的清楚和考虑周到。克制随意的写代码习惯,要易读易维护。

5、考察的点不是技术本身,而是候选人对产品的感觉,同样写下拉框,考虑的不仅是完成任务,还要考虑下拉框的性能以及如何改进。

6、去GitHub上多看几个前端项目,阅读源码,多看技术博客的前沿技术研究。

7、前端基本技能,需要具备。

8、一定要好好准备,面试官可能会问Gulp和Grunt的区别、如何搭建自己的构建环境、是否写过Gulp插件等。

9、看自己实际情况。

  职位描述注重工作职责,任职要求注重技术深度、工作能力。

2)技术栈准备

  简历上体现过jQuery,需要阅读源码,包括核心架构、事件委托、插件机制、兼容性等。

  三大框架准备一个即可,需要阅读源码,可在网上寻找相关资料。

  准备实战中遇到的问题,包括如何解决、思路是什么等。

  前端工程包括预编译(Sass、Less)、构建工具(Gulp、Grunt)、打包工具(webpack)、npm(场景命令、npx)等。

3)自我介绍

  自我介绍分为两块,第一块是简历,包含四个关键点:

1、基本信息,姓名、年龄、手机、邮箱、籍贯。

一定年龄的人理应达到一个什么样的技术水平,如果没有达到,那么技术或能力不符合公司要求。

2、学历,从大到小,博士》硕士》本科》大专。

3、工作经历,时间、公司、岗位、职责、技术栈、业绩。

给公司带来了哪些业绩,攻克了哪些技术难点。如果还没有做出这些成绩,那么现在就可以开始梳理哪些工作没做好,重新研究方案(用代码实现),作为工作产出(即工作难点),写在简历中。

4、开源项目,GitHub和说明。

开源项目不是一撮而就,现在就可以开始,参与一些开源项目,切忌不能作假。

   第二块是自我陈述,包含两个关键点:

1、把握面试的沟通方向。

在校招时,学生经常会说帮实验室导师做过什么什么项目,还有的人说我在实验室项目中是负责人。第一个,作为面试官,关注的点是:

(1)这个项目是做什么的?

(2)和前端的结合点是什么?

(3)你的角色是什么?

(4)你在项目中承担的责任是什么?

(5)你做出了哪些成绩?

第二个,最吸睛的是负责人三个字,作为面试官,关注的点是:

(1)你这个项目有几个人参与?

(2)你这个负责人是个什么样的角色,是项目管理还是技术管理?

(3)你做出了什么样的成绩?

(4)项目管理上,你的项目是怎么分配的?成员之间是怎么协作的?

(5)技术管理上,你是怎么解决技术配合的?遇到了哪些技术难点,如何解决?

很多人最后都招架不住,就是因为自己说的题目太大,让面试官问了很多自己不擅长的问题。

万事俱备只欠东风,前面那些内容就是为了夯实基础,知识点系统细化,这就是所谓的万事俱备。而东风就是此处的自我陈述,要擅于把准备好的内容通过合适的话题,引入到准备好的知识点上来。举个例子:

我平时喜欢研究一些网站,爱看背后的技术原理和好玩的点,然后自己会思考,并愿意尝试使用更好的实现方式。

点到即止,后半句留给面试官。面试官之后会问你,你平时喜欢去哪些网站?研究了哪些代码?这时候就引导了面试官,自然而然顺理成章的引到了自己准备好的知识点上。

2、豁达、自信的适度发挥。

语音洪亮,自信不要自卑,别不敢聊。当不自信的时候,气场已经下来,处于劣势,聊天不会顺畅。适度发挥是一个很有技巧的动作,在引到自己擅长的领域后,不要骄傲,不能膨胀,不要有这种心态。你的目的是让他欣赏你,而不是证明不如你。

  面试官问的问题完全是根据简历和自我陈述而来,不会凭空想象,而是量身定制的问题。

  关于自我陈述的实例有两个口诀

(1)自如谈兴趣、巧妙示实例、适时讨疑问。

面试就是聊天沟通,要豁达自信,不能瞎谈,聊与前端有关的兴趣;说半句留半句,引导面试官;不懂就要问,但不要以不知道、不清楚、我不懂作为结束语,应该要思考一下,然后亲切地说能否指点一下、给些建议、分享些资料等。

(2)节奏要适宜、切忌小聪明。

坦诚如实、心态平缓,不要不屑、耍小聪明。例如布局,大部分人写了两个就不耐烦了,这是不对的,你这叫实现,但如果写出四个、甚至六个,面试官对你的评价就会从了解基础变为追求技术难度、聪明,评价一下子上升了一个高度。面试题没有标准答案,只说一个是不够的,要表现出比别人聪明、可培养。

  关于自我陈述的实战也有两个口诀

(1)方向要对,过程要细。

二面和三面会问很多实战内容,例如你是否做过技术决策。即使是做业务也会有技术决策,例如性能优化。大方向要对,即要围绕所有的项目中跟这个优化相关的内容,要能列出优化原理。

(2)胆子要大,心态要和。

给你出再难的题目,不要心急也不要自卑,例如出算法题,准备不充分的话,很多都会放弃。但你一定要先想,放心大胆的猜,根据自己的经验分析出方案,即使是错的,也不要紧。

胆子要大表现的是勇于承担责任,敢于挑战未知。如果在这个难题前,表现出思维独特,视角独特,解决问题的能力独特,不管最后结果如何,你都已经赢了。

心态要和分两方面,当问的问题都能对答如流时,不要表露出得意,认为这里的面试很水;当问的很多问题都答不上时,不要瞬间自卑,也不要有怨气,这很容易让面试提前终止。

二、面试项目

1)面试技巧

1、准备要充分。重点掌握项目原理和背后的技术难点。技术负责人会问项目问题,而且是有深度的,例如项目架构、技术能力、人员组织以及技术难点攻克。

2、描述要演练。提前组织语言,描述要展示的点,并把握好时间,模拟演练。面试官特烦啰里啰嗦半小时,却没有说出亮点和难点。他要重点摸清你所有的项目经验,考核项目难度,判断你能否经得起公司业务的考验。

3、引导找时机。如果业务负责人没有问项目,也要想办法找时机把准备的资料说出来,但不能太生硬。当他不想问你事情、对当前话题不感兴趣或对你有些失望时,要赶紧表现自己的优势。或者当你和面试官聊的很投机时,你为了加大他对你的认可度,也可以点出自己准备的项目优势。

4、优势要发挥。这时候不要谦虚,自己优秀的能力要发挥出来。

5、回答要灵活。不要把话说满,别得意,技术没有标准答案,都是为了解决业务,至于哪个方案是最优的呢?没有标准说法。

2)面试模拟

  考查的点包括:

1、业务能力。例如:

(1)我做过什么业务?用一两句话简短描述。例如独立负责360数据彩票走势图开发。

(2)负责的业务有什么业绩?列出用户量、收入、性能等能量化的数据。例如历时3周完成所有彩票开发,用户量上涨15%。

(3)使用了什么技术方案?别人做不到的,你做到了,这就是难点。例如区别常规Canvas方案,使用vml+svg方案。

(4)突破了什么技术难点?没有遇到问题,说明你研究的不够深入。例如解决了走势图高级绘图板的开发。

(5)遇到了什么问题?例如橡皮擦的问题、动态连线计算等。

(6)最大的收获是什么?经验的沉淀和积累,业务上有什么收获,技术上有什么收获。例如对业务的理解更加深入、对技术图表更能把控。

2、团队协作能力,面试官不会直接问,而是通过面试过程中的一些描述,总结你的协作能力。例如:

(1)对彩票足彩的奖金算法有深入研究,业内第一。

(2)为H5、客户端讲解算法并协助完成开发。

(3)和PHP、PM同学在几小时内快速支持竞猜活动。

(4)和leader独立负责彩票PC站。

3、事务推动能力,跨部门或跨组,涉及效率问题。例如:

(1)对历史算法更新换代。

(2)推动专题的CMS架构。

(3)主导客服系统的建设。

(4)完成多项专利的申请。

4、带人能力。例如:

(1)带一个社招生完成数字彩的开发和维护。

(2)带一个实习生完成专题活动的开发。

(3)代码规范、Review。

5、其它能力。

三、HR面

1)面试技巧

1、乐观积极。

2、主动沟通。

3、逻辑顺畅。

4、上进有责任心。

5、有主张,做事果断。

2)职业竞争力

1、业务能力。可以做到行业第一。

2、思考能力。对同一件事可以从不同角度去思考,找到最优解。

3、学习能力。不断学习新的业务和技术,沉淀、总结。下班后参加一些小型的分享会。

4、无上限的付出。对于无法解决的问题可以熬夜、加班。虽然没人喜欢加班,但也不要明确的拒绝加班。

3)职业规划

1、宏大目标。在业务上成为专家,在技术上成为行业大牛。

2、近阶段的目标。不断的学习积累各方面的经验,以学习为主。先清楚分配的岗位做什么,快速梳理难点和突破点,近一年时间要把它做到极致。

3、长期目标。做几件很有价值的事情,例如开源作品、技术框架等。

4、方式方法。先完成业务上的主要问题,做到极致,然后逐步向目标靠拢。希望公司有技术分享,让新人成长。公司提供哪些资源和平台。

5、多赞美公司,多赞美HR。说好话,谁都爱听,但夸人要夸到点上。

 


 PS:2019年自己整理了些面试资料,打算2020年挪窝的时候用,主要分为几块。

 

 posted on 2020-01-13 07:53  咖啡机(K.F.J)  阅读(430)  评论(0编辑  收藏