前端面经总结
前端面试题总结
html
- 语义化标签,作用
- input有几种类型
CSS
- flex布局:实现两栏(左固定 右自适应)/三栏(左右固定 中间自适应)布局
- 常见伪元素、伪类,越多越好
- 垂直水平居中方法,越多越好
- 八种定位属性的具体含义 - static relative fixed absolute sticky inherit initial unset
- 选择器和优先级,权重- 这里继承优先级最低
- 哪些CSS属性可继承?
- 回流重绘的概念、触发条件,避免回流重绘的操作,flush队列,display:none触发的是哪一个, visibility:hidden呢
- BFC(块级格式上下文)的概念,触发条件,渲染规则,应用场景
- 移动端适配 - 这里涉及到的东西可就多了:媒体查询,viewport,em/rem,vw/vh
- 行内元素的padding和margin生效吗?
JS
基础
- js数据类型
- 提到了Symbol,那么Symbol('1') === Symbol('1')返回什么
- 如何区分引用类型(Object等)
- ES5 和 ES6的继承
- this指向规则,并有一道关于this的题
- 两种声明函数方式的区别
//存在函数提升 function fun(){ //代码 } //可以写成立即执行函数 a() var a=function(){ //代码 }
- 如何创建一个闭包
- vue的路由跳转是根据什么实现的。hash和history
- 说一下js的原型
- 说下一你熟悉的模式,那vue有哪些地方是使用到观察者模式。
- null和undefined的区别
- 怎么实现继承
- axios内部怎么实现(ajax)、那ajax怎么实现(XmlHttpRequest)
- 作用域(var定义的循环下标,循环中套定时器输出,问输出及怎么改成正确输出,立即执行函数为什么可以)
代码题
实现一个拖拽过程,使用原生js。没实现出来,大概过程写了。
写一个函数,让页面上一个div内容从60一秒减一直到变成0
实现一个效果,就是像手机刷微博刷到底了再显示一些内容,只要写伪代码
让一个图片滚动显示,类似轮播图那样,有几种实现方式
写一个单例,new该对象的时候总是返回同一个对象VUE
- 双向绑定原理,有没用过vue3,vue3为什么改用proxy
其他
- 进程与线程的关系与区别
- TCP和UDP各自的特点和区别(三次握手四次挥手等)
- ip地址是什么, ipv4和ipv6
- DNS协议了解吗
- 强制缓存和协商缓存
- 几种本地存储,对比
- 跨域,几种解决方式,jsonp为什么能那样做
- 状态码
- http有几种请求方式,get和put的区别
- 输入url到展示页面的过程