当前位置: 首页 > 科技观察

最新的前端开发面试题

时间:2023-03-18 18:49:41 科技观察

一定不能投机取巧,只通过面试是不对的!原文和答案在我的Github上:https://github.com/markyun/My-blog/tree/master/Front-end-Developer-Questions会不定期更新。面试有几点需要注意:(来源程少飞老师github:@wintercn)面试题:根据你的水平和职位的变化,从入门级到专家级:广度↑,深度↑。主题类型:技术愿景、项目细节、理论知识、算法、开放式问题、工作案例。详细提问:你可以确保你问到你开始听懂或者面试官开始听懂为止。这样可以大大扩展题目的区分度和深度,知道自己的实际能力。因为这种相关知识是学了很久,肯定是暂时记不住的。不管答案有多好,面试官(很可能是你面试职位的直接领导)都会考虑我是否希望这个人成为我的同事?所以态度很重要。(感觉更像相亲)高级工程师会把absolute和relative混为一谈,所以没有这样的人也没关系,因为团队需要的是:你有一个靠谱的人才(reliable)。前端开发面试知识点大纲:HTML&CSS:了解web标准、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒模型、选择器优先级及使用、HTML5、CSS3、移动JavaScript:数据类型、对象面向、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步加载回调、模板引擎、Nodejs、JSON、ajax等其他:HTTP、WEB安全、正则化、优化、重构、响应性、团队合作、可维护性、SEO、UED、架构、职业作为前端工程师,无论工作年限长短,都应该具备的知识点:这里发表的文章王子墨谈前端随笔1.DOM结构——两个节点之间可能存在什么关系,如何在节点之间任意移动。2、DOM操作——如何添加、删除、移动、复制、创建和查找节点等。3、事件——如何使用事件,以及IE与标准DOM事件模型的区别。4.XMLHttpRequest-它是什么,如何完整地执行GET请求,以及如何检测错误。5、严格模式和混杂模式——这两种模式如何触发,区分它们的意义是什么。6、盒模型——margin、外边距和边框的关系,以及IE8以下浏览器中的盒模型7、块级元素和行内元素——如何用CSS控制它们,如何让它们合理使用8、浮动元素-如何使用它们,它们有什么问题以及如何修复它们。9.HTML和XHTML——两者有什么区别,你认为应该使用哪一个,为什么。10.JSON——功能、用途、设计结构。备注:根据自己的需要选择性阅读。面试题是对理论知识的总结,让你学会如何表达。回答的信息不够正确和不够全面,欢迎补充回答和问题;最好是那些现在互联网上没有的。该格式不断修订和更新。最后更新:2015-03-25HTMLDoctype的作用是什么?如何区分严格模式和混杂模式?他们的意思是什么?什么是内联元素?什么是块级元素?什么是空(void)元素?介绍一下CSS的盒子模型?链接和@import有什么区别?什么是CSS选择器?哪些属性可以继承?优先级算法是如何计算的?CSS3中的新伪类是什么?如何让div居中?如何使浮动元素居中?浏览器的核心是什么?html5有哪些新特性,去掉了哪些元素?如何处理HTML5新标签的浏览器兼容性问题?如何区分HTML和HTML5?语义理解?HTML5的离线存储?(写)描述一段语义化的html代码。iframe有什么缺点?标签的作用是什么?它是如何使用的?(补充)如何关闭HTML5表单的自动完成功能?只需为您不想被提示的输入设置autocomplete=off即可。请描述cookies、sessionStorage和localStorage的区别?如何实现浏览器中多个标签页之间的通信?(阿里)webSocket如何兼容低级浏览器?(阿里)PageVisibilityAPI有什么用?你是怎么截图的?CSS列出显示值,解释它们的作用。position的值,相对定位和绝对定位的由来是什么?CSS3有哪些新特性?使用纯CSS创建一个三角形,一个全屏字符布局如何设计?经常遇到的浏览器的兼容性有哪些?是什么原因,解决方法是什么,常见的hack技巧是什么?为什么要初始化CSS样式。absolutecontainingblock计算方式和普通流有什么区别?为什么CSS中的visibility属性有一个collapse属性值?不同浏览器有什么区别?position和display、margincollapse、overflow、float相互叠加会发生什么?了解BFC规范?重量由CSS定义?解释underfloat及其工作原理?清除浮动的小窍门你用过移动布局的媒体查询吗?使用CSS预处理器?像那样?优化CSS和提高性能的方法有哪些?浏览器如何解析CSS选择器?这个CSS是如何工作的?(.mod-navh3span{font-size:16px;})我应该在网页中使用奇数还是偶数字体?为什么?margin和padding适用于哪些场景?元素的垂直百分比设置是相对于容器的宽度?全屏滚动的原理是什么?使用了CSS的哪些属性?::before和:after中的双冒号和单冒号有什么区别?解释这两个伪元素。你怎么理解行高?将元素设置为浮动后,改变后的元素显示值是多少?(自动改为display:block)如何让Chrome支持小于12px的文字?如何用CSS让页面上的字体更清晰更细?(-webkit-font-smoothing:antialiased;)font-style属性可以赋值"oblique"oblique是什么意思?位置:固定;android下如何处理invalid?如果你需要手动编写动画,你认为最小的时间间隔是多少,为什么?(阿里)display:inline-block什么时候会显示空隙?(携程)JavaScript你用原生JS写过东西吗?JavaScript原型,原型链?有什么特点?JavaScript有多少种类型的值?(heap:primitivevalueandstack:referencevalue),你能画出它们的内存映射吗?评估是做什么的?null和undefined的区别?编写一个通用的事件侦听器函数。Node.js的适用场景有哪些?介绍js的基本数据类型。Javascript是如何实现继承的?["1","2","3"].map(parseInt)答案是什么?如何创建对象?(画出this对象的内存映射)说说对This对象的理解。事件、IE和Firefox的事件机制有什么区别?如何停止冒泡?什么是闭包,为什么要使用它?什么是“严格使用”;意思是?使用它有什么优点和缺点?如何判断一个对象是否属于某个类?new运算符到底做了什么?在Javascript中,有一个函数在执行过程中查找对象时,永远不会查找原型。这是什么功能?了解JSON?[].forEach.call($$(""),function(a){a.style.outline="1pxsolid#"+(~~(Math.random()(1<<24))).toString(16)})你能解释一下这段代码的含义吗?js懒加载有哪几种方式?什么是阿贾克斯?同步和异步有什么区别?如何解决跨域问题?如何进行模块化?AMD(模块/异步定义)和CMD(通用模块定义)规范有什么区别?异步加载有哪些方法?.call()和.apply()的区别?Jquery和jQueryUI有什么区别?你看过JQuery的源代码吗?能简单说一下它的实现原理吗?如何在jquery中将数组转换为json字符串,然后再转换回来?jQuery的优化方法?JavaScript中的作用域和变量声明提升?如何编写高性能的Javascript?那些操作会造成内存泄漏?JQuery可以同时绑定多个事件到一个对象,这怎么可能?写如何实现一个非刷新的网站,在浏览器前后移动时都能正确响应?如何判断当前脚本是运行在浏览器环境还是node环境?(阿里)画布的默认尺寸是多少?移动端的最小触控面积是多少?jQuery的slideUp动画,如果目标元素是由外部事件驱动的,当鼠标快速连续触发外部元素事件时,动画会反复执行,有卡顿。如何处理?移动端点击事件有延迟。有?如何处理?(点击有300ms的延时,为了实现safari的双击事件的设计)Zepto的点透问题如何解决?其他问题你遇到过最难的技术问题是什么?你是怎么解决的?常用的库有哪些?常用的前端开发工具?您开发了哪些应用程序或组件?页面重构如何工作?列出IE与其他浏览器不同的特点?99%的网站需要重构。里面写的是什么书?什么是优雅降级和渐进增强?WEB应用程序主动从服务端向客户端推送数据的方式有哪些?对Node的优缺点有何看法?你有哪些性能优化方法?什么是http状态码?分别代表什么意思?一个页面从输入URL到页面加载显示的过程中发生了什么?(过程越详细越好)除了前端你还懂其他技术吗?你最强的技能是什么?您最喜欢的开发工具是什么?为什么?怎么理解前端界面工程师这个职位?它的前景如何?您如何看待WebApp、HybridApp、NativeApp?你对移动前端开发的了解?(与Web前端开发的主要区别是什么?)对加班的看法?你通常如何管理你的项目?git如何删除错误提交的文件?如何设计一个突发性的大规模并发架构?说说最近最火的几件事?您通常访问哪些网站?如何做好移动端(AndroidIOS)的用户体验?你在目前的团队中扮演什么角色,你扮演什么明显的角色?你认为什么是全端工程师(FullStackdeveloper)?能介绍一下你最喜欢的作品吗?您有自己的技术博客吗,您经常访问这些技术博客吗?最近在学什么?能否谈谈您对自己未来3、5年的规划?有趣的问题。A和B在两个岛上,B生病了,A有B需要的药。C有一艘船和一个可上锁的箱子。C愿意在A和B之间运送东西,但东西只能放在箱子里。只要打开箱子,C就会偷走箱子里的东西,不管箱子里是什么。如果A和B各有一把锁和一把只能打开自己锁的钥匙,A应该如何安全地将东西交给B呢?答案:A把药放在盒子里,用自己的锁把盒子锁上。B拿到箱子后,给箱子加了自己的锁。箱子运回A后,A取下自己的锁。当盒子再次送到B手中时,B解开自己的锁,拿到了药。