网站首页 > 技术文章 正文
来跟我一起学习呀!本人程序媛一枚,2年工作经验,换了2次工作,下面是我总结的一些经常被问道的前端面试题,常用于一面,检验程序猿基本功。
从浏览器发起请求到用户正常访问页面都经历了什么?
- 预处理
- DNS预处理
- 建立TCP连接
- 发起请求
- 等待响应,接收数据
- 处理元素
- 布局渲染
前端性能优化的方法
- 减少http请求,防抖和节流
- 使用CDN引入外部js
- 将引入的js放到body的底部
- 减少全局变量的引入
- vue中组件懒加载
- 代码精简,封装模块,封装组件
- 减少DOM操作
- 减少作用域链查找
- 将js和css作为外部模块来引入
数组去重
- 一个数组的去重
Array.from(new Set(arr))
2. 两个数组的去重
Array.from(new Set(arr1,arr2))
3. 先对数组进行排序,然后比较相邻元素是否相等,从而排除重复项进项去重,如果为两个数组则先合并为一个数组在去重
Array.sort(arr)
arr.forEach(item,index){item===arr[index+1] arr.splice(index,1) index--}
4. 最优解,首先创建一个空对象,然后用for循环遍历,利用对象的属性不会重复这一特性检验数组元素是否重复
let obj = {}
for(let i of arr){
if(!obj[i]){
arr.push(i)
obj[i]=1
}
}
对象的深拷贝
JSON.stringfy(JSON.parse())
先将js对象转化为json对象,在将json对象转化为js对象,拷贝过程中如果对象中有undefined,symbol拷贝后这个键值对会消失
数组的深拷贝
for循环,slice,push,concat等对数组的操作都可以实现数组的深拷贝
请求多个接口时如何保证同时拿到数据并渲染同一个页面
Promise([methods1,method2,method3]}.then(res1,res2,res3){}
跨域的原理与解决方法
- 跨域的原因:浏览器的同源策略,(同源策略:协议相同,域名相同,端口相同)
- 同源策略的目的:为了保护用户数据的安全性,防止恶意的网站窃取数据
- 如何违背了同源策略,DOM无法获取,ajax请求不能发送
- websocket是一种通信协议,该协议不实行同源策略可以跨域没有浏览器的跨域问题
- 解决办法:JSONP需要目标服务器赔给一个callback函数
今天就先到这里吧,会继续不定期更新web前端知识,包括Vue,ES6,CSS3,HTML5,uni-app等等,如果我的文章对你有帮助点个关注共同学习吧!
- 上一篇: 前端开发面试题目(关注我长期更新)
- 下一篇: 前端开发的难点是什么 前端开发常见问题
猜你喜欢
- 2024-09-27 web前端与移动开发-前端移动开发面试题
- 2024-09-27 前端开发面试题目(关注我长期更新)
- 2024-09-27 2020Web前端开发常见面试题及答案-开课吧
- 2024-09-27 2020Web前端开发常见面试题及答案全解析-Web前端
- 2024-09-27 前端开发经典面试题及答案——CSS篇
- 2024-09-27 2019最新Web前端经典面试试题及答案
- 2024-09-27 前端入门学习+面试真题解析,这一个博客就够了
- 2024-09-27 前端开发面试题:2021Web前端开发面试题汇总(一)
- 2024-09-27 2024年,你需要掌握的 30 个 JavaScript 面试问题和答案(基础篇)
- 2024-09-27 Web前端面试题及答案,2020前端开发基础面试题
你 发表评论:
欢迎- 05-10如何优化数据库和前端之间的交互?
- 05-10前端代码优化小秘籍(前端优化24条建议)
- 05-10VS Code当中的15个神仙插件,值得收藏
- 05-10如何自己开发一个Google浏览器插件?
- 05-10前端流行框架Vue3教程:14. 组件传递Props效验
- 05-10吃了一年的SU,最好用的插件都在这了
- 05-10前端必看!这款神器让网站界面告别千篇一律
- 05-10程序员请收好:10个非常有用的 Visual Studio Code 插件
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)