前端开发面试问题总结
May 28, 2015
对于前端开发人员的招聘,面试是非常关键的环节,而现实的情况是,很多招聘者是开发出身,不会面试,不知道问什么,问了一些常规问题,又不知道考察些什么。
这里分享一下我在面试过程中常问的一些问题(很多问题不仅限于前端开发),注意很多问题都是开放的,作为一个面试官,不要试图准备几个选择题或填空题应付了事,面试不同与笔试,面试就是要以交流为主,互动讨论总是要比直接的答案更能体现此人的能力。
我个人认为,任何时候,考察一个应聘者,综合素质要优先于他的技术能力,做开发不是做航天飞船,一般智商不低的人通过学习都可以胜任大部分工作,关键的是人品、工作态度、分析能力、学习能力,这些都是与生俱来或潜移默化形成的,是很难通过学习获得的,它们要比现有的技术经验和技术能力更重要。
?今天天气还不错,你是怎么过来的?
?大概用了多久,离得远么?
?(如果远的话)是自己的房子还是租的房子?经常这样远距
离上班可以适应么?
缓解一下应聘者的紧张感,让他尽快进入状态,并能了解出行方式、大概的远近。有时候工作地点远近还真是大问题,即使应聘者可以接受,但是上班时间超过1个半小时的员工幸福感和工作效率会较低,流失率会比较高。
?(用3分钟时间)简单做个自我介绍吧?
自我介绍是关键的环节,连自我介绍都说不好,说明对待面试和职业的态度很差。可以加上时间限制,或者让应聘者自由发挥,看看他把握重点的能力和控制时间的能力。自我介绍一般来说应该包含年龄,籍贯,毕业院校、专业和时间,工作过的公司和时间,主要的项目,担当的职务,用到的技术,擅长的技术等。
?详细介绍一个对你影响比较大的项目?
?对于你刚才说的xxx项目,我很感兴趣,你能详细说一说么?
?这个项目主要是解决什么问题/完成什么事情?
?你在这个项目里的职责是什么/做了哪些事情?
?这个项目用到了那些技术/框架?
?这个项目中大家是怎样协作的?
?这个项目主要的挑战是什么?
?这个项目遇到了哪些技术难点和问题?
?你是怎样解决的?
?你觉得自己的解决方案还有改进的地方么?
?这个项目中你学到了哪些?
针对某个(或某两个,不要多)项目进行深入的提问,首先考察项目的真实性(有的应聘者编造简历,或者真假混合,比如把其他人做的事情说是自己做的,通过一系列提问,并在提问中抓住感兴趣的点追问,可以很容易识别简历造假),还可以考察组织表达能力、技术能力、沟通协调能力、总结能力、攻关能力、学习能力等多方面能力。
?为什么要离开上一家公司?
?哪方面因素制约了你的发展?
?你有没有尝试去解决?
?如果你是老板,你会怎样做?
一般人都会回答发展、薪资、出差、离家远、加班等原因。对于这些原因一定要追问,比如你认为哪方面因素制约了你的发展?你有没有尝试去解决?每个公司都有好的和不好的方面,能从大局考虑,看到问题并提出解决方案的应聘者加分,而一味抱怨、不去解决的,永远是出现困难第一个离开公司的人。
?我看你简历上写了不少的技术点,你最熟悉的是哪些?
?能说说你对xx技术的理解么?
?你最近在关注哪些技术?
?平时喜欢玩点什么技术?
?为什么要关注/学习这些技术?
好的技术人员,听到问起技术会两眼放光,尤其是自己擅长的技术,很希望能表达出来。很多东西在简历里体现不出来,需要不断的挖掘。如果没有兴趣也没有自信的话,要么就是特别内向低调,要么就是技术水平不行。
?你喜欢什么样的开发环境?
?你喜欢用什么操作系统、IDE、浏览器、调试工具、版本管理
工具...?
对于工具和环境的选择可以看出应聘者的技术倾向和品位。
?doctype有什么作用?
?HTML5有哪些新增的特性是你很感兴趣的?
?浏览器标准模式和怪异模式之间的区别是什么?是如何触发
的?
?HTTP协议是无状态协议,怎么理解?
?GET和POST请求有什么区别?
?IE6有哪些兼容性问题?
?解释下 CSS sprites?
?使用 CSS 预处理器(如Less、Sass)的优缺点有哪些?
?CSS选择器的优先级如何?
?display都有哪些值,他们有什么区别?
?响应式设计和自适应设计有什么不同?
?有没有兼容retina屏幕的经历?
?什么是闭包?
?什么是事件代理?
?解释一下原型继承?
?什么是立即调用函数表达式?
?如何使用原生js实现ajax请求?
?如何实现跨域?
?解释一下AMD或CMD?
问一些HTML、CSS、JS的基础知识,这些问题非常多,就不一一例举了。注意根据应聘者的技能情况提问,并根据他的回答进一步深入的挖掘。在应聘者不熟悉或断片的时候,可以给与善意的引导和提示。
?如果让你做一个移动展示页面,可以上下滑动翻页并有动画
效果的,你如何入手?
?如果有一个网站访问很慢,你如何解决?
?如果让你写一个弹出窗/幻灯图片展示/tab页... 插件,你
如何实现?
?为什么利用多个域名来提供网站资源会更有效?
?从输入 URL 到页面加载完成的过程中都发生了什么事情?
?什么是渐进增强和优雅降级?
问一些综合性问题,注意考察应聘者知识的广度和深度。还是那句话,根据应聘者的技能情况提问,并根据他的回答进一步深入的挖掘。
?如果今年你打算熟练掌握一项新技术,那会是什么?
?你编写过的最酷的或最有成就感的代码是什么?
?你会业余做一些项目么?做过什么?
?你喜欢创业么?你觉得现在哪些方向比较火,你有什么看
法?
在技术问题过后,问一些发散性的轻松有趣的问题。
?你觉得你和其他前端开发相比,有哪些优势/劣势?
?你未来3-5年有什么规划?
?你对我们公司有什么了解?为什么有兴趣来我们公司?
了解应聘者优劣势和职业规划,看看是不是和公司的文化符合。
?你有什么想了解的/想问我的问题么?
收尾问题,精明的应聘者应该在这个环节了解一下公司的产品、技术团队现状、使用的技术等等,并在其中找到和自己的切合点,表示出可以胜任和对职位的期待等,就不展开了。
一个优秀的面试官,应该对上面以及其他各方面的考察要点了然于胸,最后做到随心所欲,无招胜有招。
他和应聘者像是朋友,两个人就像日常聊天一样,行云流水,从看似不经意的、自然而然的问答中,提取出自己需要的信息,这也是对应聘者的尊重。
最后希望每个公司顺利找到合适的前端开发,每个前端开发都能拿offer拿到手软:)
http://jnoodle.github.io/2015/05/front-end-interview-questions
https://www.doczj.com/doc/4212339182.html,/2015/05/front-end-interview-questions
? 未标明转载均为原创,在满足创作共用版权协议的基础上欢迎转载,请注明作者和出处链接
1. 如何显示/隐藏一个DOM元素? 更改元素的css style,设为display: none。此外还可以将visibility设为hidden,透明度设为0,或长、宽设为0。 2. 一个定宽网页在浏览器(IE6,IE7,Firefox,IE5)中横向居中对齐的布局, 请写出主要的HTML标签及CSS。 1. 2. 3.
4. 5.15. 3. CSS中margin和padding的区别 margin是外边距,属于元素之外,相邻元素的margin可以融合。 padding是内边距,在元素之内,相邻元素的padding不可融合。 4. JavaScript中如何检测一个变量是一个String类型?请写出函数实现 function(obj) { returntypeof(obj) == ”string”; } 5. 网页中实现一个计算当年还剩多少时间的倒数计时程序,要求网页上实时动态 显示“××年还剩××天××时××分××秒” 这个看我论坛右上角的就知道了… 6. 如何控制网页在网络传输过程中的数据量 题目貌似有问题,应该是减少数据量吧。 最显著的方法是启用GZIP压缩。此外保持好的编码习惯,避免重复和css、 JavaScript代码,多余的HTML标签和属性。 7. 补充代码,是鼠标单击后Button1到Button2的后面
web前端工程师面试经验 篇一 首先面我的是一个豆瓣的前端(后来了解到其实也是做后端的),问的东西不多,大都是上的内容,没问到具体的技术实现,最后聊了一点儿linux,原来同是ubuntu 饭,并且已追新到9.04 beta。 稍息片刻后是技术总监Flycondor 的第二轮,因为隔壁在开会比较吵(偷听到有关tag 之类的使用问题),所以转到了有沙发和foosball 的休息区。开篇还是聊简历中的项目,不过问的内容比较宽泛,从工作职能到页面优化技巧、SEO,问答的形式比较轻松,所以不怎么紧张。后来被问到一个比较偏门的问题:豆瓣和新浪首页完整载入后html 代码的大小。我当时的回答是豆瓣20k 左右,新浪
大概5 倍以下,后来觉得豆瓣可能会再小些,新浪的会再臃肿些。刚在家试了下,豆瓣20.8k,新浪395k,还好只是一个对关注度的测试题。后来脱离项目单独问了些关于前端优化的具体问题,因为早前看过一篇Yahoo! 的Best Practices 技术部分的提问算告一段落,但留了一道开放性的作业,问题还是围绕优化,但对象是豆瓣,开始我还想问咋没之类的,现在看来豆瓣做事更效率,与其出一些茅坑儿算法题,不如来真格的对实际项目下手,管你求助朋友查书还是Google,最后写出代码,高低自有公平论断,谁不是边学边实践边提高的。(说说而已了,明天起还得继续动手JS 面向对象部分的实际应用,抽空再多记一些经典算法,谁让俺心目中的盖世大企,还是来应试那一套,茅坑儿题照出呢),剩下是留给我的提问时间,一般来讲只是走走形式问问部门状况和福利之类的,但毕竟是钟爱的豆瓣,关注和感兴趣的东西自然多些,最后算下来我提问的时间比面我的时间还长,汗~涉及的鸡毛蒜皮的问题比较多就不赘述了,有一个让俺小惊的:豆瓣有12个程序员,其中4个是专做算法的。 去年的时候和一个淘宝UED 的成员聊天,从他的话语中感觉很拜豆瓣的UE;今天在豆瓣看到不少人,只是不知哪些是做UE 的,如果没有专门的前端部门,应该是归到产品部的;没猜错应该就是我隔壁那一拨开完会后一起盒饭的人,ps, 看到一个ppmm,断定不是童颜大龄文艺女青年。
Html 1.行内元素有哪些?块级元素有哪些?空(void)元素有那些? (1)CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值, 比如div默认display属性值为“block”,成为“块级”元素; span默认display属性值为“inline”,是“行内”元素。 (2)行内元素有:a b span img input select strong(强调的语气) 块级元素有:div ulol li dl dtdd h1 h2 h3 h4…p (3)知名的空元素:
前端工程师面试自我介绍 本人XXX,我是一个实事求是、不浮夸的人。喜欢参与团队工作 与集体活动。重视自身素质培养。 软件开发基础扎实,对编程充满热情,学习能力强,能快速掌握新技术 在校期间,曾获20XX—20XX学年度优秀团员,20XX—20XX学年 度丙等奖学金,20XX年9月份军训优秀个人。曾是系学生会干事, 在通过与其他干事的合作,主要对学生宿舍公共卫生、宿舍文化、 晚归等进行监督管理,评定优秀寝室,不定期组织学生活动(寝室篮 球赛、跳蚤文化市场等) 实习期间就职于金融事业本部,部门业务涉及全国数省的农村信用社核心业务系统、城市商业银行支付系统以及外围辅助服务系统。我一直在广东四地市的农信社做软件开发工作。先后参与了广东省 四地市的银行卡系统、综合业务系统卡改造、电话银行系统、自助 终端系统等的开发和实施。相信您的信任与我的实力将为我们带来 共同的成功!希望我能为贵公司贡献自己的力量! 欲善其事,必先利其器。大学几年,我始终坚持天道酬勤的原则,一日三省,自信品格的日趋完善;勇于行事,务实求新,自信工作有 所成绩;三更灯火,寒窗苦读,相信学有所成。 在校期间,我始终以提高自身的综合素质为目的,以个人的全面发展为奋斗方向,树立正确的人生观和价值观,光荣地加入了中国 共产党。 为适应社会发展的需求,我努力学好专业知识,多次获得奖学金,较深入、全面地掌握了软件编程、硬件维护与开发、网络应用技术 等计算机科学基础理论以及计算机在企业管理、工业生产、辅助设 计制造等方面的应用知识,同时注意结合自身专业特点,结合动手 实践,先后参与了校新闻网页设计大赛、校程序设计大赛、挑战杯
前端面试笔试题 前端面试笔试题 前端面试笔试题有哪些?前端面试笔试题分享给大家,以下就是小编整理的前端面试笔试题,一起来看看吧! 1.XHTML和HTML有什么区别HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML 元素必须被正确地嵌套。XHTML 元素必须被关闭。标签名必须用小写字母。XHTML 文档必须拥有根元素。 2.前端页面有哪三层构成,分别是什么?作用是什么? 结构层 Html 表示层 CSS 行为层 js; 3.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? Ie(Ie内核) 火狐(Gecko)谷歌(webkit,Blink) opera(Presto),Safari(wbkit) 4.什么是语义化的HTML? 直观的认识标签对于搜索引擎的抓取有好处,用正确的标签做正确的事情!html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的。搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理
解。 5.HTML5 为什么只需要写 !DOCTYPE HTML? HTML5 不基于 SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行);而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。 6.Doctype 作用?标准模式与兼容模式各有什么区别? !DOCTYPE声明位于位于HTML文档中的第一行,处于html 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。标准模式的排版和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。7.html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和HTML5?HTML5 现在已经不是SGML 的子集,主要是关于图像,位置,存储,多任务等功能的.增加。绘画 canvas 用于媒介回放的 video 和audio 元素本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;sessionStorage 的数据在浏览器关闭后自动删除语意化更好的内容元素,比如article、footer、header、nav、section 表单控件,calendar、date、time、email、url、search 新的技术
web前端应聘自我介绍 自我介绍,就是自己将自己介绍给他人或众人的一种介绍方式。那么Web前端工程师应聘时自我介绍应该怎么说以下是小编整理的web前端应聘自我介绍,欢迎阅读。 web前端应聘自我介绍1 我喜欢篮球和乒乓球,曾担任大学校篮球队队员。在篮球队中深刻体会到在大家共同努力下击败对手的成就感! 对于计算机有着狂热的喜爱,虽掌握软件众多,但对编程情有独钟!在每一次解决了问题后都有一种成就感!我喜欢这种感觉,让我能沉迷于我的代码的世界中! 爱好程序设计,喜欢开发自已的小型产品,追求技术上的满足感;稳固的架构,健壮的代码,团结的合作,是我的不懈追求。 有良好的编程习惯,以及程序错误控制和解决能力,我爱程序员这个岗位,当每天敲着代码,听着音乐,是很快乐的 用心工作,用心生活!我可能不是最好的,最合适的,我觉得我是最有潜力的! web前端应聘自我介绍2 回首三年的大学校园生活生涯和社会实践生活,有渴望、有追求、有成功也有失败,我孜孜不倦,不断地挑战自我,充实自己,为实现人生的价值打下坚实的基础。
在思想品德上,本人有良好道德修养,并有坚定的政治方向,我积极地向党组织靠拢,使我对我们党有可更为深刻的认识,并参加了入党积极分子培训班”的培训。本人遵纪守法、爱护公共财产、关心和帮助他人,并以务实求真的精神热心参与学校的公益宣传和爱国活动。 在学习上,我热爱自己的专业,还利用课余时间专修计算机专业知识,使我能轻松操作各种络和办公软件。曾多次获得学金,在书法和体育运动都获得好成绩。英语、电脑、普通话等方面的等级考试已达标。除了在专业知识方面精益求精外,平时我还涉猎了大量络编程、络管理与维护、页设计等知识。并且相信在以后理论与实际结合当中,能有更大提高。 在工作上,对工作热情,任劳任怨,责任心强,具有良好的组织交际能力,和同学团结一致,注重配合其他学生干部出色完成各项工作,得到了大家的一致好评。 在生活上,我最大的特点是诚实守信,热心待人,勇于挑战自我,时间观念强,有着良好的生活习惯和正派作风。由于平易近人待人友好,所以一直以来与人相处甚是融洽,连续担任了分院的乒协的秘书长一职。有广泛爱好的我特别擅长于页设计和站管理与维护方面。曾独立完成一个中型站的设计,以及大型综合站的策划与修改工作。 身为平面设计专业的学生,我在修好学业的同时也注重