web前端开发入门课程,CSS定位,最新前端开发面试解答

38 阅读9分钟

这里分享一份由字节前端面试官整理的「2021大厂前端面试手册」,内容囊括Html、CSS、Javascript、Vue、HTTP、浏览器面试题、数据结构与算法。全部整理在下方文档中,共计111道

HTML

  • HTML5有哪些新特性?

  • Doctype作⽤? 严格模式与混杂模式如何区分?它们有何意义?

  • 如何实现浏览器内多个标签页之间的通信?

  • ⾏内元素有哪些?块级元素有哪些? 空(void)元素有那些?⾏内元 素和块级元素有什么区别?

  • 简述⼀下src与href的区别?

  • cookies,sessionStorage,localStorage 的区别?

  • HTML5 的离线储存的使用和原理?

  • 怎样处理 移动端 1px 被 渲染成 2px 问题?

  • iframe 的优缺点?

  • Canvas 和 SVG 图形的区别是什么?

JavaScript

  • 问:0.1 + 0.2 === 0.3 嘛?为什么?

  • JS 数据类型

  • 写代码:实现函数能够深度克隆基本类型

  • 事件流

  • 事件是如何实现的?

  • new 一个函数发生了什么

  • 什么是作用域?

  • JS 隐式转换,显示转换

  • 了解 this 嘛,bind,call,apply 具体指什么

  • 手写 bind、apply、call

  • setTimeout(fn, 0)多久才执行,Event Loop

  • 手写题:Promise 原理

  • 说一下原型链和原型链的继承吧

  • 数组能够调用的函数有那些?

  • PWA使用过吗?serviceWorker的使用原理是啥?

  • ES6 之前使用 prototype 实现继承

  • 箭头函数和普通函数有啥区别?箭头函数能当构造函数吗?

  • 事件循环机制 (Event Loop)

开源分享:docs.qq.com/doc/DSmRnRG…

  • 自我介绍

  • 说说虚拟DOM和原始DOM相比的优缺点

  • 根据svelte框架,类比一下你还能说出什么缺点嘛?

  • BFC是什么?

  • 什么情况下使用BFC

  • 该怎么触发BFC

  • 移动端适配

  • rem 和 em 的区别

  • Vuex用过modules吧,说说A文件内的actions怎么修改B的state

  • TypeScript变量后面加上感叹号什么意思

  • 类型断言的方法

  • 异步

  • 大概写下Promise.all的原理吧

三面

  • 自我介绍

  • 重点项目介绍,难点挑战

  • 权限控制方案,怎么实现的,整体的思路如何

  • 模块化是怎么划分的,具体做过哪些

  • 提出了一个输入框远程搜索提示的功能

  • 说说版本是怎么迭代的

面试准备

校招 -1 年,这个阶段还属于成长期,面试时更需要看重的是你的基础和热情。对于 JS 基础,计算机基础,网络通信,算法等部分的要求会相对高一些。毕竟这个阶段比较难考察你的业务项目中的沉淀,所以只能从基础部分入手考察。下面有几条小建议:

  • 在学校学习,或是利用网络上的各种资料巩固自己的基础,是这个阶段的关键。

  • 在简历里展示出你的优势,让面试官看到你的潜力。

  • 多去了解社区前沿技术,关注国内外的各种技术趋势。

  • 尝试自己写一些小项目,或者是参与社区开源的项目。

  • 开始记录自己的技术博客。

规划简历

通常来说,简历结构都差不多,内容最好控制在一张A4纸内。

  • 个人信息

  • 教育经历

  • 工作经历

  • 项目经历

  • 自我总结

个人信息:

简洁明了,主要包括:

  • 姓名、联系方式,邮箱;

  • 学校,专业;

  • 求职岗位;

教育经历:

  • 写清楚学校、专业、学历、时间、相关课程

  • 成绩较优异的同学可选择性备注专业排名

工作经历:

工作经历是简历中相当重要的一部分,它是你过去几年经历的总结。

工作经历需要写的是你做成了什么,注意不是流水账一样去列举你做了什么,最好的是你给公司带来了什么样的贡献和提效。

具体需要写清楚地点、起止时间、职位、承担的工作。

项目经历:

  • 项目经验可以写实习项目、学校比赛项目、自己折腾的技术项目,按照时间顺序梳理

  • 描述项目背后通用的技术知识的应用实践以及解决问题的思路

  • 相关产出,在线文档、博客等

自我总结:

  • 描述专业技能,尽可能减少熟练、精通这类字眼

  • 简要描述奖学金和其他在校荣誉,如竞赛奖项

  • 语言能力,英语、日语或者其他语言均可

巩固基础

注重基础理论的积累,比如css盒模型,布局,过渡与动画,定位这些比较常用的理论。对于javascript,要多熟悉逻辑运算的语法和数组语法,因为很多场景下javascript都在处理逻辑。

学习笔记:

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等

巩固基础

基础面试题

主要内容包括:HTML,CSS,JavaScript,浏览器,性能优化等等

前端基础面试题

字节真题训练

CSS 基础

  1. 请你讲一讲 CSS 的权重和优先级

  2. 介绍 Flex 布局,flex 是什么属性的缩写:

  3. CSS 怎么画一个大小为父元素宽度一半的正方形?

  4. CSS实现自适应正方形、等宽高比矩形

  5. 实现两栏布局的方式

  6. 实现三列布局的方式

  7. CSS 动画有哪些?

  8. 用css2和css3分别写一下垂直居中和水平居中

  9. visibility 和 display 的差别(还有opacity)

  10. opacity 可以有过渡效果嘛?

  11. BFC 与 IFC 区别

  12. BFC会与float元素相互覆盖吗?为什么?举例说明

  13. 了解box-sizing吗?

  14. 什么是 BFC

  15. 了解盒模型吗?

  16. 说一下你知道的position属性,都有啥特点?

  17. 两个div上下排列,都设margin,有什么现象?

  18. 清除浮动有哪些方法?

JavaScript 基础

  1. 问:0.1 + 0.2 === 0.3 嘛?为什么?

  2. JS 数据类型

  3. JS 整数是怎么表示的?

  4. Number() 的存储空间是多大?如果后台发送了一个超过最大自己的数字怎么办

  5. 写代码:实现函数能够深度克隆基本类型

  6. 事件流

  7. 事件是如何实现的?

  8. new 一个函数发生了什么

  9. new 一个构造函数,如果函数返回 return {}return nullreturn 1return true 会发生什么情况?

  10. symbol有什么用处

  11. 闭包是什么?

  12. 闭包产生的本质

  13. 一般如何产生闭包

  14. 闭包的应用场景

  15. 什么是作用域?

  16. 什么是作用域链?

  17. NaN 是什么,用 typeof 会输出什么?

  18. JS 隐式转换,显示转换

  19. 了解 this 嘛,bind,call,apply 具体指什么

  20. 手写 bind、apply、call

  21. setTimeout(fn, 0)多久才执行,Event Loop

  22. 手写题:Promise 原理

  23. js脚本加载问题,async、defer问题

  24. 如何判断一个对象是不是空对象?

计算机网络

  1. DDOS 攻击

  2. http请求过程

  • DNS 域名如何解析的?

  • TCP三次握手

  • 为什么要三次握手?

  • 为什么HTTP协议要基于TCP来实现?

  • 说到三次握手,那在说下四次挥手吧?

  • 如果已经建立了连接,但是客户端突然出现故障了怎么办?

  • http请求方式有哪些?

  • 常用的请求状态码?

  1. TCP和UDP的区别以及应用场景
  • UDP

  • TCP

  • 应用场景

  1. tcp 中拥塞避免和流量控制机制

  2. http和https

  • http和https的区别

  • https的访问过程

  • https的优缺点?

  • https如何进行性能优化?

  1. 说下http缓存吧
  • 什么是缓存?又有什么用?

  • 你知道有哪些缓存方式吗?

  • 缓存位置

  • http缓存怎样生效的

Vue框架

  1. active-class是哪个组件的属性?嵌套路由怎么定义?

  2. 怎么定义vue-router的动态路由?怎么获取传过来的动态参数?

  3. vue-router有哪几种导航钩子?

  4. scss是什么?在vue.cli中的安装使用步骤是?有哪几大特性?

  5. mint-ui是什么?怎么使用?说出至少三个组件使用方法?

  6. v-model是什么?怎么使用? vue中标签怎么绑定事件?

  7. axios是什么?怎么使用?描述使用它实现登录功能的流程?

  8. axios+tp5进阶中,调用axios.post(‘api/user’)是进行的什么操作?axios.put(‘api/user/8′)呢?

  9. 什么是RESTful API?怎么使用?

文末

逆水行舟不进则退,所以大家要有危机意识。

同样是干到35岁,普通人写业务代码划水,榜样们深度学习拓宽视野晋升管理。

这也是为什么大家都说35岁是程序员的门槛,很多人迈不过去,其实各行各业都是这样都会有个坎,公司永远都缺的高级人才,只用这样才能在大风大浪过后,依然闪耀不被公司淘汰不被社会淘汰。

为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师核心知识笔记》电子稿文件。

内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。

269页《前端大厂面试宝典》

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

前端面试题汇总