前端面试必备知识点:HTML, CSS, JavaScript, ES6, Vue等

需积分: 20 7 下载量 112 浏览量 更新于2024-06-30 3 收藏 2.71MB PDF 举报
"该资源是一份针对前端工程师的面试题集合,涵盖了HTML、CSS、JavaScript(包括ES6)、Vue框架以及一些基础的网络协议和开发工具的知识点,旨在帮助初级前端求职者和初学者准备面试和提升技能。" **HTML** HTML是超文本标记语言,用于构建网页结构。面试中可能会问到的兼容性问题通常涉及不同浏览器对某些标签或属性的支持差异,解决办法包括使用polyfill、条件注释或选择合适的浏览器前缀。提高页面性能的策略包括压缩资源、减少HTTP请求、使用CDN、启用缓存等。理解H5意味着要熟悉新特性如canvas、video、audio、离线存储等。浏览器从输入URL到显示网页的过程涉及DNS解析、TCP连接、HTTP请求、渲染等步骤。重绘和重排是CSS布局更新时的两个关键概念,影响页面渲染性能。缓存策略包括HTTP缓存、浏览器缓存、Service Worker等。状态码如200、404、500分别代表成功、未找到、服务器错误。DOCTYPE声明定义了文档类型,影响浏览器的解析模式。 **CSS** CSS用于样式化HTML元素。`display:none`隐藏元素但保留空间,`visibility:hidden`则不占用空间。CSS优先级计算包括内联样式、ID选择器、类选择器、元素选择器等。BFC(块格式化上下文)用于解决元素间的塌陷问题和创建隔离的布局环境。盒模型包括content、padding、border和margin。水平垂直居中的方法多样,如Flexbox、Grid、定位等。用纯CSS创建三角形利用了边框特性。左右布局可以采用浮动、定位或Flexbox。字体单位px、em、rem、vh、vw各有用途,如px是绝对单位,em、rem相对父元素,vh、vw基于视口大小。CSS可继承的属性如color、font-size等。 **JavaScript** JavaScript是网页动态化的基石。`call`、`apply`、`bind`用于改变函数调用时的上下文。数据类型包括基本类型(如string、number、boolean)和引用类型(如Object)。检测数据类型可用`typeof`、`instanceof`等。语句之间的区别涉及流程控制,如`if...else`、`switch`、`for`、`while`等。闭包允许函数访问并保留外部作用域的变量。原型和原型链是JavaScript的继承机制。继承方法有原型链、构造函数、组合继承等。了解`ajax`的工作原理和实现跨域(如CORS、JSONP)很重要。Vue的配置文件涉及路由、代理等设置。 **ES6** ES6是ECMAScript的一个重要版本,引入了let、const、解构赋值、箭头函数、Promise、Set、Map等新特性。let、const与var的主要区别在于作用域和重新赋值。箭头函数没有自己的this,而是继承自父作用域。Promise简化异步编程,forEach、forIn、forOf分别遍历数组、对象和可迭代对象。Set、Map提供了去重和键值对存储。新增的数组方法如`find`、`findIndex`,字符串方法如`includes`、`repeat`,对象方法如`assign`、`entries`等。async/await使得异步代码更易读。 **Vue** Vue.js是一个流行的前端框架,其生命周期包括创建、挂载、更新、销毁等阶段,开发者常在特定钩子函数中执行逻辑。组件通信通过props、事件、Vuex等实现。页面间通信可以使用Vuex、URL参数、本地存储等。$set用于响应式地添加新属性。Vue3的配置文件`vue.config.js`中,`proxy`用于开发环境的API代理。 这份面试题集合全面覆盖了前端开发的关键知识点,对于准备面试或深化技术理解都非常有价值。