前言

今天有个小伙伴和我说,前端掌握的还行,主要是对面试没什么把握,小编想了想,不该是多半面试题都会迎难而解,怎么会什么把握呢?但仔细又一想,技术和面试也是两回事,技术可以也不代表面试就可以过,那咱们就来好好叨叨该如何去面试

面对面试官

我在网上看到了很多面试官的分享,他们面过上百人,总结了很多作为面试官的经验,看完这些经验,我不禁感慨,他们到底是“坑害”了多少面试者才总结出来的……

所以我总结一下这些点,希望当面试官做的不足的时候,能尽力的做出避免或者挽救,不要因为面试官经验上的不足而影响你的发挥。

突然袭击

有些面试官会直接电话过去要求面试,由于面试者(尤其是学生)处于弱势方,可能并不会拒绝面试要求,但并不意味着面试者处于最佳的物理和精神状态下,有可能会导致面试者不能很好的发挥自己原有的实力。所以如果面试官突然打电话过来,没有准备好的话,不要怕冒犯面试官,一定要另外约个时间,面试官肯定会再打过来的。

遭到否定

面试官有可能会否定你描述的一些东西,有可能是你字眼写的太过,比如将“熟悉”的东西写成了 “精通”,勾起了面试官的“好奇”,有可能故意试压,考验你的反应,但遇到否定的时候,不要急于反驳或者是手足无措,而是询问自省和主动讨论。

气场不和

有的面试官性格严谨沉闷,而面试者可能思维活跃,整个面试过程可能会变成面试官不停的打断面试者让其思维聚焦,而面试者感到思维不停被打断,很是气恼,影响发挥。这种情况不可避免,但遇到这样的面试官,请保持谦和的态度,重点是展示自己技术的广度、深度,气场不和并不会产生决定性的影响,面试官也不会因为这样的原因而给与错误的评判,尽量留下好的印象。

结束通知

有的面试官会在面试结束后说:“我的问题问完了,如果有进一步消息的话,我们会再联系你”。面试的大部分结果,其实当场就出来了,如果你感觉给出结果的时间点不够明确,可以反问他:“如果三天内没有联系,是不是就代表没有通过?” 省得让你怀有不确切的希望。最后,还可以挽留下面试官,讲讲这场面试中你的一些疑惑,获得面试官的反馈,也可以知道自己目前哪一方面做得不足。

面试

面对不会的问题

面试中遇到问题不会回答,这是非常正常的,毕竟大家在学习过程中遇到的问题,跟我们在工作中遇到的问题是非常不一样的,除此之外,我们看问题的角度,也是有差别很大的。

举个例子,很多人都在看 React Fiber,但是如果问你们,为什么要有 Fiber 这个东西,可能很多人都回答不上来,因为大家只在社区里面看到说,Fiber 是怎么工作的啊,但是为什么要有 Fiber?如果没有会怎样,而这种思考,其实是非常底层的。我相信,很多人可能都没有思考过。

那如果遇到的问题不会,你可以先选择不会,说我觉得自己没有信心能答出这个问题,当然我更希望听到你说,我现在不会,但是你给我两分钟思考一下,我想一下这个问题有没有答案?我觉得这是一个很好的思考习惯,首先你在面对不会的东西是坦然的,我当下不会,很正常,我之前没有思考过这个问题嘛,那我们再花两分钟思考一下,给一个初步的答案。

所以说遇到问题,也不用不会就不会,也可以有一个积极的方式回应。
从面试官的角度来说,面试中考察的题目,并不是仅仅考察这道题目本身,题目的对错并不跟最终结果直接挂钩。面试官更希望以题目为契机, 考察面试者分析问题,解决问题的能力,以及交流过程中所体现的逻辑推理和思维方式等。

跟面试官聊业务

业务跟项目是完全不一样的东西,业务认知和思考也是很重要的一个考察点,这方面面试官可能会问两个点:业务场景和技术突破。
业务场景:面试官会询问面试者他们的产品、业务模式、商业模式等,了解下面试者对于产品的诞生、定位、发展的认知。
技术突破:技术与业务相结合这点在阿里也是一直在说但鲜有人做的非常好的地方,所以有的时候也会考察面试者,看看他们所做的技术是如何从业务出发、给业务带来了哪些改变以及如何去评估两者之间产生的结果。

面试结束

反向互动

面试官在挂断之前,基本会给与候选人反问的机会,一般会表述为 “你有什么要问我的吗”?无论面试的怎样,都希望你能说出心中的疑惑,比如面试中的某个题目、整体的评价反馈、你的建议或者了解所负责的业务,所在的团队等等,而从面试官的角度来看,如果候选人愿意反问你问题,至少能证明他是个好学的人。所以不要放弃这个互动的机会。

面试反馈

每场面试结束后,面试官都会在系统里留下面试反馈,如果面试失败,简历会放在人才库里,很多人会在其中捞取简历,以后的面试官也可以看到之前所有的面试记录,之所以讲到这一点,是希望大家在面试中能够保持谦和积极的心态,认真面对每一场面试,即使这场面试没有成功,但如果展示了好的品质,也会增加被发掘的机会,为你以后面试成功铺路。

保持联络

如果跟面试官聊的比较好,可以请求加个微信之类的,面试是一个长期的事情,哪怕此次面试没有通过,以后还可能面试进来的,与面试官保持联络,也是为以后进阿里铺路。

前端面试题准备

面试会了,面试题也不能落下,这套面试笔记除了有CSS、JS、Vue、React、性能优化、服务器端口、设计模式、数据结构和算法面试题外,加了手写代码面试题,这下面试官让我们写代码也不怕啦!

CSS问题

  • flex布局
  • css3的新特性
  • img中alt和title的区别
  • 用纯CSS创建一个三角形
  • 如何理解CSS的盒子模型?
  • 如何让一个div水平居中
  • 如何让一个div水平垂直居中
  • 如何清除浮动?

    二、JS问题

  • typeof和instance of 检测数据类型有什么区别?
  • 谈一谈深克隆和浅克隆?
  • es6的新特性都有哪些?
  • ==和===区别是什么?
  • 常见的设计模式有哪些?
  • call bind apply 的区别?
  • js继承方式有哪些?
  • 你怎样看待闭包?

    Vue问题

  • 聊聊对vue的理解
  • V-model的原理是什么?
  • 谈谈对生命周期的理解
  • VUE和REACT有什么区别?
  • vuex的流程
  • vuex有哪几种状态和属性
  • vue路由的两种模式
  • vue中 key 值的作用

    React问题

  • react和vue的区别
  • redux中的reducer(纯函数)
  • react的refs
  • react中的keys
  • React的生命周期
  • React子组件向父组件传值
  • 为什么虚拟DOM会提高性能
  • diff算法

    服务器端

  • 状态码
  • 304的缓存原理(添加Etag标签.last-modified)
  • get/post的区别
  • http协议的理解
  • http和https
  • http1.0 1.1 2.0的区别
  • web缓存
  • 常见的web安全及防护原理

    手写代码

  • 动手实现一个bind(原理通过apply,call)
  • AJAX (异步的javascript和xml)
  • 函数节流(throttle)
  • 函数防抖(dobounce)
  • 实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
  • 实现一个简单的Promise
  • 发布订阅者模式(观察者模式)
  • 手动写一个node服务器

小结

第一,
要做自我介绍,要讲一下自己的工作经历,介绍负责过的项目和主要职责,如果面试官对项目感兴趣再具体讲一下项目细节,为的是让面试官快速了解你的经历和水平,最好可以在简历上准备二维码,方便预览。

第二,
要表达自己的价值,告诉面试官你的优势和价值,比别人强的地方在哪里。

第三,
要表达自己的期望,比如我期望自己在未来五年内,沉下心来做事情,框架也好,项目也好,工具也好,这些想做的事会不会有助于岗位工作的提高,有没有大幅改进和提升,让面试官对你未来的期望值提高。

第四,
要问,你不能总是干巴巴的去输出,别人对你了解的很清楚,你却一点不了解对方,找工作就像交女朋友一样,要互相了解后再下决定,你要问问公司的核心业务是什么呀,是朝阳产业还是夕阳产业,这个岗位的主要工作是什么呀,有没有未来的晋升空间,公司有没有培养的计划呀,公司是技术为主还是业务为主还是销售为主呀,侧面或者正面的去了解这个公司,了解要加入的团队,去考量自己是否适合这个岗位。

四个点清楚以后,我们就知道自己是去干吗了,根据现场情况去反映,比如有的面试官对沟通比较生疏,上来问了几个技术问题,你可以委婉的说:“不好意思,我比较紧张,我能先自我介绍一下吗?”,另外,如果面试官尬聊,自己也可以趁着空档去问问岗位的工作内容和公司的主营业务,或者说说自己对工作的期望,当然,也许会遇到很多突发的情况,老生长谈,还是要控制情绪,因为自己的目的是高效的获得适合自己的岗位,其他都是次要的。

注:前端面试题准备笔记和阿里前端开发规范手册不要忘了点击这获取,单要手册也可以的哦

03-05 22:22