2018年BAT前端面试题全解:80个经典难题与答案

需积分: 1 0 下载量 150 浏览量 更新于2024-06-30 收藏 31KB DOCX 举报
本文档提供了2018年针对BAT(百度、阿里巴巴、腾讯)前端面试的80道精选题目,涵盖了HTML、CSS、JavaScript、浏览器内核以及HTML5等多个重要知识点。以下是对部分内容的详细解析: 1. **Doctype的作用与区别**: Doctype是文档类型声明,用于指示浏览器采用哪种解析模式。严格模式(quirks mode)与混合模式(quirks mode)的区别在于: - **Doctype的作用**:明确告知浏览器文档类型,指导解析器使用哪种规范。 - **严格模式**:确保以浏览器所支持的最新标准进行渲染,提供最佳性能和兼容性。 - **混合模式**:为了向后兼容,模拟老式浏览器的行为,可能导致布局问题。 2. **HTML元素类型**: - 行内元素:如`<a>`, `<span>`, `<img>`等,它们在文本流中显示,并影响其周围的文本样式。 - 块级元素:如`<div>`, `<ul>`, `<li>`等,占据一行并自成块级框结构。 3. **link和@import的区别**: - `link`是HTML标签,用于引入外部CSS文件,同时下载,权重较高。 - `@import`是CSS语法,需等待整个文档加载完再执行,可能导致页面延迟,且仅在IE5及以上版本支持。 4. **浏览器内核**: - Internet Explorer使用Trident内核,Mozilla的Gecko内核支持Firefox,Chrome和部分Safari使用Blink内核(基于WebKit),Opera早期用Presto,后来也转向Blink。 5. **HTML5新特性及兼容性**: - HTML5引入了诸如`<canvas>`, `<video>`, `<audio>`等增强多媒体功能。 - 本地存储技术,如`localStorage`和`sessionStorage`,用于离线数据持久化或临时存储。 - 语义化元素(如`<article>`, `<header>`, `<footer>`等)提升内容结构的可读性和SEO优化。 - 新增表单控件和媒体元素,以及Web Workers和WebSocket等现代Web技术。 处理HTML5新标签兼容性时,通常使用条件注释、polyfill库或现代浏览器前缀(如 `-webkit-`, `-moz-` 等)来确保在旧版浏览器中正常工作。区分HTML和HTML5的关键在于HTML5引入了许多新的语法和标签,同时也强调了语义和结构的重要性,而HTML则更注重基础结构。 这些题目涵盖了前端开发的基础知识,对于准备BAT面试的开发者来说,理解和掌握这些内容至关重要,可以帮助他们评估自己的技术水平,并在实际面试中展示出扎实的理论基础和实践经验。