前端面试(自己的一个小记录)
浏览器相关
-
五大浏览器默认字体大小均为16px,在浏览器设置12px以下字体大小,chrome和opera浏览器中都显示为12px;
- transform:scale(0.5) //使用scale进行缩小
-
跨域问题
- 本地跨域
-
window的对象
-
navigator
-
预渲染
-
监听url路由变化
window.onhashchange = function (e) { console.log(e); console.log(e.newURL); console.log(e.oldURL); }
网络
-
TCP端口号
-
tcp三次握手,四次挥手
-
tcp、udp
- tcp如何保证可靠传输
-
http协议1.0 1.1 2.0
- 常见字段
-
https为什么更安全
- 加密方式
-
发送请求的方式
-
http特点
-
数据链路
-
子网掩码和ip,四种地址类型
-
四层结构
计算机基础(算法和数据结构)
- 树的遍历
- 进程线程
- 死锁
- CMMI
- 空间复杂度、时间复杂度
- 图
- 强连通图
- 最小生成树
- 预检请求options
HTML&CSS
- XML
- Doctype
- meta
- 能够被搜索引擎抓取到的标签
- float和absolute相同点和区别
- transfrom文档流,重排和重绘
- css可继承的属性
- flex-grow
- flex:1
- https://blog.csdn.net/m0_37058714/article/details/80765562
- padding不能为负值
- margin:上右下左,10 40 20
- 上10px,左右40px,下20px
- link和@import
- scope的原理
- ajax
- 本地跨域
JavaScript
-
requestAnimationFrame()
-
null和undefined
-
数据监听
-
作用域链的作用
-
promise
- try catch可以处理promise的错误吗?那axios呢
-
axios、 fetch API
-
js实现多线程的方式(web worker)
-
readyState
-
KMP模式匹配
-
map
-
set
-
堆栈内存和闭包
-
this的指向
-
proxy
-
对象解构
- null、undefined不能被解构//TypeError
- 部分解构
DOM事件
- 防抖节流
- 对象的长度属性?
- 正则表达式
- Js加载方式
- 添加类名的方式
对象操作方法
- object.create();
- object.keys()
数组方法
- for in
- reduce
- Array.from()
- Array.reduce()
webpack
- webpack工作流程
- Tree Shaking
- code spliting
- webpack热加载
- vue-loader
移动设备
- rem做兼容
- 竖屏:肖像模式 横屏:风景模式
vue
- mvvm
- 虚拟DOM
- Vuex
- vue2和3的区别
- 数据的双向绑定
- 组件之间的通信
- 路由传参
- 监听url路由变化
- mock
- 分页组件、组件封装
场景
- 页面无限下拉
- 登录
- 多个dom