前端第一次面试
今天拿到毕业证后从济南跑到杭州某公司第一次面试,结果很惨,笔试题大部分都会,可是就是没写出来,很尴尬,晚上回来做一次总结。
1、什么是盒子模型
css盒子模型就是网页设计中的一种思维模型。css盒子模型都具有margin(外边距)、border(边框)、padding(内边距)、内容(content)属性。就像现实中的一个盒子,每个属性可以一起设置,也可以分别设置。
2、HTML5新特性
HTML5有十大新特性
(1)、语义化标签:语义化标签使得页面的内容结构化,见名知义。但是一般都不会用到,因为结构一般都会挺复杂,都会用css来标识使得内容结构化。
(2)、增强型表单:拥有多个新的表单input输入类型,提供了更好的输入类型和验证。
(3)、视频和音频:提供了播放音频文件的标准,即使用<audio>标签。提供了<video>元素来包含视频的播放标准。
(4)、canvas绘图:提供canvas标签作为容器,必须使用脚本画图。
(5)、svg绘图:svg是指可伸缩的矢量图形。基于XML。
(6)、地理定位:HTML5 Geolocation用于定位用户的位置。
(7)、拖放API:即抓取对象后拖放到另外一个位置,拖放的过程分为原对象和目标对象,从原对象拖放到目标对象。
(8)、web worker :是运行在后台的JavaScript,独立于其他脚本,不会影响性能。
(9)、web Storage:新增的客户端存储数据的两个对象,分别为local storage(没有时间限制的数据存储)和session storage(针对一个session的数据存储,当用户关闭浏览器窗口后,数据会被删除)。
(10)、WebSocket:是HTML5提供的一种在单个TCP连接上进行全双工通讯的协议。
3、JavaScript基本类型
JavaScript有六大基本类型:Number、String、Boolean、null、undefined、object。es6有个symbol类型。
4、link和@import的区别
(1)、link属于html标签,而@import是css提供的。
(2)、页面被加载时,link会同时被加载,而@import引用的css会等到页面加载结束后加载。
(3)、link是html标签,因此没有兼容性,而@import只有IE5以上才能识别。
(4)、link方式样式的权重高于@import的。
5、同步和异步的区别
同步是后一个任务必须要等前一个任务彻底完成才可以执行。异步是每一个任务都有一个回调函数,在等待回调函数时可以执行别的任务。
6、position的值有哪些
absolute、fixed、relative、static、inherit。
7、常用哪些浏览器调试,浏览器内核有哪些
谷歌浏览器、ie浏览器。Trident内核、Gecko内核、webkit内核、Presto内核、Blink内核。
8、dom操作
(1)、增加:appendChild()
(2)、删除:removeChild()
(3)、创建:
createDocumentFragment() //创建一个DOM片段
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
(4)、复制:cloneNode()
(5)、移动:moveTo()
(6)、查找:
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的Name属性的值
getElementById() //通过元素Id,唯一性
9、怎么优化前端性能–提高页面加载速度
(1)、减少HTTP请求
(2)、使用CDN
(3)、添加Expires头
(4)、压缩组件
(5)、将样式表放在头部
(6)、将脚本放在底部
(7)、避免CSS表达式
(8)、使用外部JavaScript和css
(9)、减少DNS查找
(10)、精简JavaScript代码
(11)、避免重定向
(12)、使ajax可缓存。
想起来的只有九个题,其中答案参考网上资料,如有侵权请在评论区留言。