(自汇总)前端面试题

1 HTML

  1. HTML语义化,为什么要语义化 link
  2. < !DOCTYPE> 文档声明,meta标签
    文档类型说明< DOCTYPE > 作用:主要用来指定HTML元素,需要遵循HTML哪个版本。
    < meta> 标记,用来定义与网页相关的一些元信息,比如:为了让百度,谷歌等搜索引擎方便采集本网页的一些关键字
  3. 严格模式:修复了部分语言上的不足,提供更强的错误检查,并增强安全性
  4. HTML与XHTML----二者有什么区别
  5. 浏览器内核
  6. px和em的区别:浏览器的默认字体高都是16px,为什么是16px
  7. H5新特性
  8. 浏览器缓存有哪些,通常缓存有哪几种
  9. cookies、sessionStorage和(globalstorage)localstorage区别
  10. websocket:H5新增协议。全双工 ,SharedWorker
    第一个比较全的链接
    第二个参考的链接

2 css(less/sass补)

  1. 两种盒模型box-sizing指定
  2. 盒子水平/垂直居中的多种方法,margin重合问题
  3. 圣杯布局、双飞翼布局
  4. 定位:position的值, relative和absolute分别是相对于谁进行定位的
  5. 清除浮动,BFC
  6. CSS中link 和@import的区别
  7. 什么是 FOUC(无样式内容闪烁)?你如何来避免 FOUC?
  8. CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些
  9. css3新特性:flex、动画、媒体查询等
    第一个比较全的链接

3 原生JS

  1. 事件委托、事件冒泡
  2. 绑定多个事件,addEventListener,有几个参数
  3. 定时器两个(封装?)
  4. new操作符到底到了什么,封装一个new
  5. 判断一个字符串中出现次数最多的字符,统计这个次数(多种方法)
  6. 判断数组的几种方式
  7. 数组去重的多种方法
  8. undefined 和 null 区别
  9. document.write和innerHTML,DOM节点的操作方法
  10. JS哪些操作会造成内存泄露
  11. 原型链、闭包
  12. 实现深拷贝
  13. 递归及其优化
  14. js继承的几(6)种方式
  15. eval()的作用
  16. javascript对象的几种创建方式
  17. 用过哪些设计模式
  18. 异步加载和延迟加载
  19. 懒加载: 懒加载
  20. js异步加载(文件)的方式
  21. js延迟加载的方式有哪些-----defer和async、动态创建DOM方式(创建script,插入到DOM中,加载完毕后callBack)、按需异步载入js
  22. call() 和 apply() 的区别和作用
    第一个比较全的链接

4 ES6

  1. let、const,声明提升,作用域
  2. 模板字符串、扩展运算符、解构赋值
  3. 箭头函数
  4. for…of与for…in区别,import 和 export
  5. Map、Set数据结构,Symbol(回忆JS数据类型)
  6. class(super):在react中用得多
  7. 装饰器、generator(yield)
  8. 封装promise
  9. proxy的作用
  10. async/await
  11. 函数节流和函数防抖 防抖和节流

5 框架相关(主vue)

  1. mvvm mvc区别,原理
  2. 双向数据绑定和单向数据绑定
  3. data为什么是函数(javascript原型链)
  4. computed计算属性的缓存
  5. 生命周期,created和mounted区别
  6. 8个生命周期+2+1
  7. keep-alive是Vue的内置组件,其中的生命周期只会走一遍,并且会增加activated和deactivaed生命周期,用以其他的业务逻辑。
  8. errorCaptured:当捕获一个来自子孙组件的错误时被调用。
    此钩子会收到三个参数:错误对象、发生错误的组件实例以及一个包含错误来源信息的字符串。此钩子可以返回 false 以阻止该错误继续向上传播。
  9. keep-alive与vue-router中的元信息meta—$route.meta.keepAlive 链接
  10. render函数的封装
  11. key的作用(虚拟DOM和diff算法)
  12. vue组件传值方式(多种)
  13. vue-router和vuex相关底层(导航守卫等)
  14. vue源码页

链接: vue链接

6 浏览器/网络/安全

  1. 网络分层里七层模型是哪七层
  2. TCP传输的三次握手四次挥手
  3. TCP和UDP的区别
  4. http 和 https 有何区别
  5. 常见的HTTP状态码
  6. 什么是Etag(304缓存的原理)
  7. GET和POST区别
  8. 从输入url到显示页面,都经历了什么
  9. 进程和线程
  10. 垃圾回收机制方式及内存管理(垃圾回收策略:标记清除(较为常用)和引用计数)
  11. web安全及防护原理:sql注入原理、XSS原理及防范、XSS与CSRF有什么区别
  12. 性能优化问题:减少DOM操作等,代码优化等,浏览器渲染原理,SEO
  13. Expires和Cache-Control
  14. 重绘、重构的理解
  15. 对AMD和Commonjs的理解
    第一个比较全的链接

7 项目相关

  1. 为什么跨域,如何解决跨域
  2. webpack
  3. ajax(原生封装)
  4. 对前端模块化的认识
  5. 前端工程的价值体现在哪

8 其他(数据格式/git/svn/数据库/UI)

  1. XML和JSON的区别
  2. 渐进增强和优雅降级
  3. Web Worker
  4. Git相关: git常用命令,代码冲突解决,版本回退等。
  5. git fetch和git pull的区别
  6. svn要简单了解
  7. 数据库:mongoDB和MySQL的区别
  8. UI要会,项目用的多

9 数据结构与算法

  1. 栈和队列的区别?
  2. 栈和堆的区别?
  3. 快速排序的思想并实现一个快排,复杂度分析等
  4. 链表

正式面试:面经

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值