前言前端校招面试题主要内容包括html、css、前端基础、前端核心、前端进阶、移动端终端开发、计算机基础、算法与数据结构、设计模式、项目等。(本文资料适合0-2岁)包含腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪等一线互联网公司面试中的提问,搜狐等。涵盖初级和中级前端技术点。文中列出的主要内容为大纲,详细内容可在文末自行获取!第1章HTML1。浏览器页面的三层是什么,分别是什么,作用是什么?2、HTML5的优缺点?3、Doctype的作用是什么?如何区分严格模式和混合模式?他们的意思是什么?4.HTML5有哪些新特性,删除了哪些元素?5.你在哪些浏览器上测试过你的网页?这些浏览器的核心是什么?6、每个HTML文件的开头都有一个很重要的东西,Doctype,你知道这是干什么用的吗?7.谈谈你对HTML5的理解?(它是什么以及为什么)8.您对WEB标准和W3C的理解是什么?9、HTML5的内联元素、块级元素、空元素是什么?10.什么是WebGL,它有什么优势?11.请描述cookies、sessionStorage和localStorage的区别?12.谈谈你对HTML语义的理解?13.link和@import的区别?14.谈谈你对SVG的理解?15.HTML的全局属性是什么?16、谈谈超链接目标属性的价值和作用?17.data-attribute的作用是什么?18.谈谈您对浏览器内核的理解?19.常见的浏览器内核有哪些?20、iframe有什么缺点?21、Label的作用是什么,如何使用?22、如何实现浏览器中多个标签页之间的通信?23、如何在页面上实现一个圆形的可点击区域?24、title和h3、b和strong、i和em有什么区别?25、不使用边框绘制1px高度的线,在不同浏览器的标准模式和怪异模式下保持一致的效果?26、HTML5标签的作用是什么?(目的)27.简述src和href的区别?28.谈谈你对canvas的理解?29.WebSocket和消息推送?30.mg的title和alt有什么区别?31.表单的基本组成部分有哪些,表单的主要用途是什么?32、表单提交中Get和Post方法有什么区别?33、HTML5有哪些新的表单元素?34.哪些HTML4标签在HTML5中被弃用?35.HTML5标准提供了哪些新的API?36.HTML5存储类型有什么区别?37、HTML5应用缓存和浏览器缓存有什么区别?38.HTML5Canvas元素有什么用?39.奥迪除外o和视频,HTML5中还有哪些媒体标签?40.如何在HTML5中嵌入视频?41.如何在HTML5中嵌入音频?42.什么是新的HTML5文档类型和字符集?第2章CSS1。解释一下CSS的盒子模型?2、请告诉我CSS选择器有哪些类型,并举几个例子说明它们的用法?3、请告诉我CSS有什么特别之处?(优先级,计算特殊值)4.有哪些方法可以动态改变图层中的内容?5、常见的浏览器兼容性问题及解决方法?6.列出display的值并解释它们的作用?7.如何让div居中,如何让浮动元素居中?8.CSS中的link和@import有什么区别?9、请列举几种清浮的方法(至少两种)?10.block,inline和inlinke-block细节比较?11、什么是优雅降级和渐进增强?12.谈谈浮动元素带来的问题和你的解决方法。13、你有哪些性能优化方法?14.为什么要初始化CSS样式?15.解释下浮动及其工作原理?清除浮动的技巧?16、根据网页的位置,CSS样式表可以分为哪几种样式表?17.谈谈你对CSS缩放的理解?18.你能告诉我em和rem的区别吗?19.能否请您谈谈box-sizing属性的用法?20、浏览器标准模式和怪癖模式有什么区别?21.什么是怪异的Quirks模式,它和标准的Standards模式有什么区别?22.说说你对marginfolding的理解?23.行内标签和块级标签有什么区别?24.谈论隐藏元素的方式有哪些?25、为什么要重置默认浏览器样式,如何重置默认浏览器样式?26.请谈谈您对BFC和IFC的理解?(是什么,怎么来的,作用)27.说说你对页面中position的使用的理解?28、如何解决多个元素的重叠问题?29、页面排版有哪几种方式?30.overflow:hidden是否形成一个新的块级格式化上下文?第三章前端基础1.说说http和https2.tcp的三次握手,一句话总结3.TCP和UDP的区别4.WebSocket的实现与应用5.HTTP请求的方法,HEAD方法6.获取图片url后如何实现直接下载?7.谈谈网页质量(无障碍)8.有多少实用的BOM属性对象方法?9.说说HTML5拖拽api10。谈谈http2.011。补充400和401、403状态码12.fetch之所以发送2个请求13.Cookie、sessionStorage、localStorage的区别14.说说webworker15.HTML语义标签的理解16.什么是iframe?缺点是什么?17.Doctype的作用是什么?如何区分严格模式和混合模式?它们的意义是什么?18、cookies如何防止XSS攻击?19.cookies和session的区别。20.用一句话概括RESTFUL。21.谈谈视口和移动端布局。23.addEventListener参数24.cookiesessionStoragelocalStorage区别25.cookiesession区别26.知道http返回的状态码介绍27.http公共请求头28.强,协商缓存29.HTTP状态码说说你知道的30.说说30431什么时候用强缓存和协商缓存32。前端优化33。GET和POST34之间的区别。301和30235的区别。如何画三角形36。状态码304和20037。说说浏览器缓存38.HTML5新增元素39.在地址栏输入一个URL,当页面显示时,中间会发生什么?40.cookie和session的区别,localstorage和sessionstorage的区别41.常见的HTTP头42.HTTP2.0的特点43.cache-control的值有哪些44.浏览器生成页面时,它会生成那两棵树吗?45、csrf、xss的网络攻击及防范46、如何看网站性能47、介绍HTTP协议(特性)48、谈谈对Cookie和Session的认知,Cookie有哪些限制?49.描述XSS和CRSF攻击?防御方法?50.你知道304吗?什么时候用304?51、缓存相关的具体请求头有哪些?52、cookie和session的区别。55.既然看到了图解http,那你就可以回答200和304的区别了。56.除了cookies,还有哪些存储方式?说说cookies和localStorage的区别57.从浏览器输入URL到页面渲染的全过程58.HTML5和CSS3用的多吗?你知道它们的新特性吗?你在项目中使用过吗?59.HTTP常用请求方式60.get和post的区别61.说说302、301、304的状态码62.Web性能优化63.浏览器缓存机制64.post和get的区别65.说说cssboxmodel66.画一条0.5px的线67.link标签和import标签的区别68.transition和animation的区别69.flex布局70.BFC(块级格式化上下文,用于清除浮动,防止marginoverlap等)71.垂直居中的方法72.js动画和css3动画的区别73.说说块元素和行元素74.多行元素的文本省略号75.visibility=hidden,opacity=0,显示:无76。双面距离重叠问题(collapsedoutermargin)77.position属性78.floatingclear79.css3新特性80.CSS选择器及其优先级是什么81.如何让一个元素消失82.盒子模型介绍83.css动画如何实现84.如何实现图片在某个容器中居中?85.如何实现元素垂直居中86.CSS3溢出的处理87.float元素的显示是什么88.页面隐藏元素的方法89.三列布局的实现方法,写成尽量,float布局的时候,三个div的生成顺序会不会影响90.什么是BFC91.calc属性92.有一个width300,height300,如何实现屏幕的垂直和水平居中93.显示:table和自己的table有什么区别94.position属性的值有哪些及其区别95.z-index定位方式96.CSS盒模型97.如果要改变一个DOM元素的字体颜色,不要对它本身进行操作?98.你了解过CSS的新属性吗?99.最常用的CSS属性是什么?100.line-height和height的区别101.设置一个元素的背景色,背景色会填充哪些区域?102.你知道属性选择器和伪类选择器的优先级吗?103、inline-block、inline和block的区别;为什么img是inline还可以设置宽高104.用css实现硬币旋转的效果105.理解weightpaintandrearrange,你知道如何减少重绘和重排吗?文档流出的方法有哪些?消失元素的方法有哪些?111、嵌套的两个div的位置都是绝对的,子div设置了top属性,所以top相对于父元素的位置定位112.说说盒子模型113.display114。如何隐藏一个元素115.display:none和visibilty:hidden的区别116.相对布局和绝对布局,position:relative和absolute117.flex布局118.block、inline、inline-block的区别119.Commoncss选择器120.css布局121.css定位122.相对定位规则123.垂直居中124.什么是css预处理器?创建与继承129.如何解决异步回调地狱130.浅谈前端的事件流131.如何让事件先冒泡再捕获132.浅谈事件委托133.浅谈图片的懒加载和预加载134.mouseover和mouseenter的区别135.js的new操作符是做什么的136.改变函数内部this指针的指向功能(bind、apply、call的区别)137.js的各种位置,比如clientHeight,scrollHeight,offsetHeight,andscrollTop,offsetTop和clientTop的区别?138.js拖拽功能的实现139.js的异步加载方式140.Ajax解决浏览器缓存问题141.js的节流防抖142.JS中的垃圾回收机制143.eval是干什么的144.front怎么理解-结束模块化145.浅谈Commonjs、AMD和CMD146.对象深度克隆的简单实现147.实现一个once函数,函数传入参数只执行一次148.将原生ajax封装成promise149.js监听对象属性的变化150.如何实现一个私有变量,可以用getName方法访问,但不能直接访问151.==和===,和Object.的区别152.setTimeout、setInterval和requestAnimationFrame的区别153.实现一个两列等高布局,说说思路154.自己实现一个bind函数155.使用setTimeout实现setInterval156.代码执行顺序157.如何实现睡眠的效果(es5或es6)158.什么是promise159.Function._proto_(getPrototypeOf)的简单实现?160.实现js中所有对象的深度克隆(封装对象,Date对象,正则对象)161.Node的Events模块的简单实现162箭头函数中this指向的例子163.js判断类型164.数组的常用方法165.数组去重166.闭包有什么用?167.事件代理在捕获阶段的实际应用。typeof,能不能加个限制条件满足判断条件173.js实现跨域174.js基本数据类型175.js深拷贝一个元素具体实现176.前面说了ES6set可以去重数组,有没有数组去重177.跨域的原理178.不同数据类型的值比较,如何转换,规则是什么179.为什么是null==undefined180.这个指向哪个类型181.暂停死区184.有个游戏叫FlappyBird,是一只飞翔的小鸟,前面是一望无际的沙漠,不断的上下生成钢管,你要躲开钢管然后小明玩这个游戏总是卡顿甚至死机,并说出原因(3-5)和解决方法(3-5)185.写代码满足以下条件:186.什么是按需加载187.告诉me什么是virtualdom188.webpack是做什么用的189.ant-design的优缺点190.JS中实现继承的几种方法191.写一个函数,第一秒打印1,第二秒打印2192.vue生命周期193.简单介绍symbol194.什么是事件监听195.介绍promise以及底层如何实现196.Bootstrap清浮点方法197.说说C++、Java和JavaScript的区别198.js原型链,原型链的顶端是什么?Object的原型是什么?Object的原型是什么?在数组的原型链上实现删除数组中重复数据的方法199.js的闭包是什么?效果如何,写一个带闭包的单例模式200.promise+Generator+Async的使用201.事件委托和冒泡原理202.写一个可以将下划线命名转换为驼峰命名的函数203.deep和deep的区别及实现浅拷贝204.JS中string的startwith和indexof方法的区别205.js中字符串转数字的方法206.letconstvar的区别,什么是块级作用域,block如何实现-levelscopewithES5Executingfunction),ES6207.ES6箭头函数的特点208.setTimeout和Promise的执行顺序209.事件模型你了解了吗,DOM0级和DOM2级有什么区别,是什么DOM的分类210.通常如何调试JS的基本数据类型有哪些211.JS,基本数据类型和引用数据类型的区别,NaN的缩写是什么,JS的作用域类型,返回的结果是什么通过undefined==null,undefined和null的区别是嘛,写一个判断变量类型的函数212.setTimeout(fn,100);如何权衡100毫秒213.JS垃圾回收机制214.写一个newBind函数完成bind的功能215.如何获取对象上的属性:比如通过Object.key()216.简单说说一些newES6的特性217.call和apply有什么用?218.你知道事件委托吗?这样做有什么好处?219.给定以下代码,输出是什么??原因?220.给定两个构造函数A和B,如何实现A继承B?221.如果已经有A、B、C三个promise,想依次执行,应该怎么写?222.你分得清公私吗?223.如何使用基本的js224.async和await?225.了解ES6和ES7的语法226.promise和await/async的关系227.js的数据类型228.js加载过程阻塞,解决方法229.js对象类型、基本对象类型和对象类型的区别引用对象类型230.JavaScript中轮播的实现原理?如果一个页面上有两个轮播,你会如何实现它们?231.如何实现一年有多少周的计算?232.面向对象的继承233.引用类型的常见对象234.es6的常见使用235.class的区别236.call和apply237.es6的共同特点238.箭头函数和函数有什么区别239.new操作符的原理240.bind,apply,call241.bind和apply的区别242.Promise实现243.赋值深拷贝244.说说promise,没有promise怎么办245.Arguments246.箭头函数获取参数247.Promise248.事件代理249.Eventloop第四章前端核心1.JSONP的缺点2.跨域(jsonp,ajax)3.如何实现跨域4.什么是dom,你的理解?5.关于dom的api是什么6.ajax返回的status7.实现一个Ajax8.如何实现一个ajax请求,如果我有多个请求,我需要让这些ajax请求一次按一定的顺序执行,有什么办法吗?如何处理ajax跨域9.如何实现ajax请求?如果我想发出两个顺序ajax,我需要做什么?10、Fetch和Ajax的优缺点是什么?11.移动应用和Web应用的关系12.你知道PWA吗?13、你做过移动端吗?14.你知道触摸事件吗?模块化和流式的区别)4.redux的使用5.redux中的常用方法6.angularJs和react的区别7.vue双向绑定原理.node的特性适合处理什么场景11.你用Express,说一下Express12.promise的状态13.删除数组第一个元素的方法有哪些?第六章移动端开发1.介绍react2.React单项数据流3.React生命周期函数及React组件的生命周期4.React与Vue的原理、区别、亮点及作用5.ReactJs组件通信6.有你了解过React的虚拟DOM吗?虚拟DOM如何比较?7.项目中使用了React。为什么要选择反应?反应有什么好处?8.如何获取真正的dom9。你知道function11.setState12.react高阶组件之后的流程吗?13.React的生命周期14.谈谈你对react的理解15.React组件是根据要刷新的内容来判断的。第七章计算机基础1.TCP建立连接的三次握手过程2.cdn的原理3.HTTP的头部包括什么常见的请求方式(为什么我说下面选项,head,connect)4.请求方式head特性5.HTTP状态码,301和302具体有什么区别,200和304的区别6.OSI七层model7.TCP和UDP的区别,为什么三次握手和四次挥手8.HTTP缓存机制9.websocket和ajax有什么区别,websocket的应用场景有哪些10.TCP/IP网络模型11、你知道什么跨域方法吗?jsonp的具体流程是什么,如何实现原生的Jsonp封装和优化,服务端如何判断是否应该为CORS跨域12.token如何生成,如何传递13.操作系统进程的区别和线程14.什么是进程线程15.线程的那些资源是共享的,那些资源是不共享的16.操作系统中进程和线程的区别17.Linux查询进程命令,查询端口,kill进程18.进程间的通信方式有哪些?19.Redis与mysql第八章算法与数据结构1.二叉树序列遍历2.B树的特点,B树和B+树的区别3.尾递归4.大数阶乘怎么写?递归方法会出什么问题?5.多维数组转一维数组的方法6.你知道的排序算法说说冒泡快排的原理7.堆排序法的原理?复杂性?8.几种常见的排序算法,手写9.数组去重,方法尽量多写10.如果有一个大数组,里面全是整数,如何求前10个最大的数11.知道常见数据结构中的数据结构12.找出数组中第k大的数组出现了多少次,比如数组[1,2,4,4,3,5]中第二大的数是4,出现了两次,所以return213.合并两个排序好的数组14.给一个数,到一个已经排序好的数组中找到这个数的位置(通过快速查找,二分查找)...
