面试是个漫长的过程,从海投到收获电话面试,一面、二面、三面,一个步骤出错那么后面就宣告终结。同时,面试过程中你也可能会遇到一些面试官的刁难,甚至部分面试官会说些比较打击你的话,但是大部分面试官都是很棒的!
面试前的准备
必须有牢固的基础知识,足够丰富的项目经历(就我而言差不多是三个完整项目经历,时间累计差不多接近一年)。
至少这上面的面试题你能全答出来,说得足够清楚!
面试有几点需注意:
面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。
题目类型: 理论知识、算法、项目细节、技术视野、开放性题、工作案例。
细节追问: 可以确保问到你开始不懂或面试官开始不懂为止,这样可以大大延展题目的区分度和深度,知道你的实际能力。因为这种知识关联是长时期的学习,临时抱佛脚绝对是记不住的。
回答问题再棒,面试官(可能是你面试职位的直接领导),会考虑我要不要这个人做我的同事?所以态度很重要、除了能做事,还要会做人。)
资深的前端开发能把absolute和relative弄混,这样的人不要也罢,因为团队需要的是:你这个人具有可以依靠的才能(更多资料欢迎加QQ群:864305860领取)。
前端开发所需掌握知识点概要:
HTML&CSS:
对Web标准的理解(结构、表现、行为)、浏览器内核、渲染原理、依赖管理、兼容性、CSS语法、层次关系,常用属性、布局、选择器、权重、盒模型、Hack、CSS预处理器、
CSS3、Flexbox、CSS Modules、Document flow、BFC、HTML5(离线 & 存储、Histoy,多媒体、WebGLSVGCanvas);
JavaScript:
数据类型、运算、对象、Function、继承、闭包、作用域、事件、Prototype、RegExp、JSON、Ajax、DOM、BOM、
内存泄漏、跨域、异步请求、模板引擎、模块化、Flux、同构、算法、ECMAScript6、Nodejs、HTTP、
其他:
主流MVVM框架(ReactVueAngular)、Hybrid AppReact NativeWeex、TypeScript、RESTFul、WEB安全、前端工程化、依赖管理、性能优化、
重构、团队协作、可维护、易用性、SEO、UED、前端技术选型、快速学习能力等;
作为一名前端工程师,无论工作年头长短都应该掌握的知识点:
1、DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
2、DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。
3、事件 —— 如何使用事件,以及IE和标准DOM事件模型之间存在的差别。
4、XMLHttpRequest —— 这是什么、怎样完整地执行一次GET请求、怎样检测错误。
5、严格模式与混杂模式 —— 如何触发这两种模式,区分它们有何意义。
6、盒模型 —— 外边距、内边距和边框之间的关系,及IE8以下版本的浏览器中的盒模型
7、块级元素与行内元素 —— 怎么用CSS控制它们、以及如何合理的使用它们
8、浮动元素 ——怎么使用它们、它们有什么问题以及怎么解决这些问题。
9、HTML与XHTML ——二者有什么区别,你觉得应该使用哪一个并说出理由。
10、JSON —— 作用、用途、设计结构。
表述能力
表述能力,你要能把你的答案给面试官描述清楚,注意专业词汇,这将大大提高面试官对你的印象分!
简历
简历尽量一页,不要超过两页。简历内容要直奔主题,姓名、电话、邮箱、学校、项目经历!兴趣爱好之类的大部分面试官会视为垃圾信息直接过滤掉,如果你Github有什么star很多的项目千万记得贴上,这点加分非常高!如果你有自己的博客,博客上有一些含金量较高的文章的话也记得贴上自己的博客。当然最重要的一块肯定是你掌握了哪些技术,但是千万不要用网上现在比较火的进度条去表示你对技术的掌握情况,这是非常愚蠢的行为,到底什么算掌握、熟悉、精通?(更多资料欢迎加QQ群:864305860领取)
简历内容,总结一下如下:
姓名、电话、邮箱、学校等必要信息
项目经历(注意表明使用的技术栈,自己的工作)
Github高星项目
个人博客
个人技术介绍
投递简历
拉勾网
实习僧
Boss直聘
企业的校招网站
就我自身而言,投递出了差不多40份简历,最后接到了7个电话面试,4个进入二面,3个进入三面,3个拿到offer!基本上进入三面以后都比较稳了,当然不排除竞争比较激烈的时候三面刷人!
关于面试是否通过与等待时间问题
首先你需要注意的一点是,电话面试如果没通过的话是肯定不会打电话通知你的。如果你电话面试通过了的话,3天之内是一般是会安排下次电话面试,直接联系你的,注意星期六星期天是不计入时间的。
举个例子,以下几个的异同。
line-height:15px;
line-height:150%;
line-height:1.5;
line-height:1.5em;
面试流程:
自我介绍(用最简单的语言表明自己最大的优势)
HTML基础
CSS基础
JS基础
你有什么想问的?
就我自己面试经历来看,各大公司都特别重视原生JS。同时一面中基本不会涉及到框架的问题。
二面
二面问的问题就很深入了,会针对你的项目进行深入剖析,对你简历上的技术进行深入追问,看你是否具有真才实干。
面试流程:
自我介绍
完整概述一个你感觉最你自己做过最棒的项目
针对技术进行深入探讨
你有什么想问的?
三面
能来到这一步基本上非常稳了,而且这个时候你的面试官基本上是你以后进公司的顶头上司了。
同时三面的气氛就比较轻松了,当然也会问你一些技术方面的问题。一般三面过没过自己都能根据最后面试官的口气感觉出来。
面试流程:
自我介绍
部分技术问题
一些关于公司的介绍
你有什么想问的?
HR发offer
一般三面完了,三天内会有HR联系你,询问你的一些情况,比如本科在读还是研究生在读,然后给你说一下待遇,多少钱一天啊,什么餐补,住房补助等等之类的。了解清楚后一般2天内会把offer发到你的邮箱!此刻大功告成,准备进入新公司吧!
我的一次完整面试经历——百度
一面
主要还是问web的一些基础问题,有准备的话通过还是比较容易的。
我整理了一下问题大概是这些:
css盒子模型
页面加载如何优化
url->页面加载完成的整个流程
优雅降级与渐进增强
xhtml是什么
ajax的优缺点
js组成部分
解释一下变量声明提升
如何跨域访问
js如何判断一个数组
阐述一下js严格模式
还有一些其余的问题记不清了,最后面试官问我有什么问题要提的,我问了下部门的技术栈、技术沙龙之类的。最后,礼貌地说了一句:“感谢面试官百忙之中抽空来面试我,这次面试学到了很多,希望贵公司能给我一个接触前沿技术、锻炼自身的机会,谢谢面试官!”
二面
二面的面试官首先还是问了一下技术问题。
负载均衡你了解吗?阐述一下
linux环境你熟悉吗?说一些你用过的指令
webpack了解吗?用过哪些功能
对css预编译器有所了解吗?
还有些记不清了,大多数时间是在问项目的问题:
完整概述一个你感觉最你自己做过最棒的项目
然后,面试官会根据你的回答针对性地提一下问题,举个例子:
你在这个项目中用到了express,那你能说说express的特点是什么吗?
有考虑过如何对项目进行优化吗?从那方面入手?
最后依然是国际惯例,我问了下部门的技术栈、技术沙龙之类的,礼貌说了下感谢的话!
三面
三面就比较轻松了,面试官会跟你了一些公司文化之类的东西,见招拆招吧,好好表现,没什么重大问题基本上就过了。
总结
面试=技术+运气+礼貌!
个人认为:
礼貌>技术>运气
一个没有礼貌的codder估计没面试官欢迎吧,毕竟他以后是你的同事,肯定希望是个好相处的人。总之,注重礼节,但是技术也不可缺少哦,最后运气也是有的,也许你当天遇到的面试官心情不好,刁难你也说不一定哦,但是如果能把你刁难到证明自己的技术确实有不足之处,需要加油改进哦!
(更多资料欢迎加QQ群:864305860领取)
网友评论