
前端面试题
每日更新一道面试题~~学习中~~~
ganxiaop
前端小喽啰一名
展开
-
前端面试之--算法
1.环形链表题型描述:给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。 如果链表中存在环,则返回 true 。 否则,返回 false 。示例1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释原创 2021-11-19 09:26:02 · 120 阅读 · 0 评论 -
前端面试之---webpack
1.webpack和gulp的优缺点两者皆属于构建工具,但是其侧重点不同。1.gulp侧重于对开发流程的控制管理。 优点: 1.轻量,配置文件比较简单。 2.基于Nodejs强大的stream能力,构架速度快。 3.适合多页web应用以及node服务端应用。 缺点: 1.不太适合单页或自定义模块的开发。2.webpack侧重于模块的打包 优点: 1.任何资源都可以作为模块处理。 2.社区资源丰富,有很多插件和lo原创 2021-11-12 10:01:55 · 780 阅读 · 0 评论 -
前端面试之-git
1.git pull --rebase 和git pull的区别是什么?1. git pull : 主要作用是取回远程主机某个分支的更新,再与本地的指定分支合并。在默认模式下,git pull是git fetch跟git merge FETCH_HEAD的缩写。 git pull使用给定的参数运行git fetch,并调用git merge将检索到的分支头合并到当前分支中。分支复杂时可能出现代码合并丢失的情况。2. git pull --rebase 它运行的就说git rebase 就不是git m原创 2021-11-02 10:26:00 · 156 阅读 · 0 评论 -
JavaScript面试题目
1.for…in和object.keys的区别1.for..in是JavaScript中最常见的迭代语句,常常用来枚举对象的属性。某些情况下,可能按照随机顺序遍历数组元素;2.Object构造器有一个实例属性keys,则可以返回以对象的属性为元素的数组。数组中属性名的顺序跟使用for..in遍历返回的顺序是一致的。3.for...in循环会枚举对象原型链上的可枚举属性,而object.key不会。...原创 2021-10-11 16:16:08 · 118 阅读 · 0 评论 -
前端面试之-React
一. redux和全局管理有什么区别?Redux和JavaScript应用状态容器,提供可预测化的状态管理。1. 相对于全局管理,Redux的状态是可以预测的,可追踪的,也就减少了代码维护,排查问题的成本。2. Redux是一种状态管理的设计思想,全局管理是一种方式,概念不一致,另外全局管理可能会有命名冲突等问题。...原创 2021-07-07 15:47:48 · 100 阅读 · 0 评论 -
前端面试之--网络相关
一.WebSocket WebSocket心跳重连是为了保证链接的可持续性和稳定性。在使用原生的WebSocket的时候,如果设备网络断开,不会触发WebSocket任何事件函数,前端程序无法得知当前链接已经断开。这个时候如果调用WebSocket.send方法,浏览器会发现消息发不出去,便会立即或者一定时间后(不同的浏览器或者浏览器版本不同可能表现不同)触发onclose函数。 后端webSocket服务也可能出现异常,连接断开后前端也并没有接收到消息,因此需要前端定时发送心跳消息,后端接受类似的原创 2021-07-06 10:02:02 · 252 阅读 · 0 评论 -
前端面试之-vue
一.页面刷新后得vuex的state数据丢失怎么办?1.为什么数据会丢失?因为store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,store里面的数据就会被重新赋值初始化。2.解决办法a.可以使用浏览器存储如localStorage,sessionStorage等,刷新后读取赋值。具体使用哪个可根据业务需求选择。b.对一些没有必要存储的请求接口数据,直接通过接口重新获取。c.也可以使用一些插件,如vuex-persistedstate,可以自动存储数据。...原创 2021-07-05 10:27:49 · 158 阅读 · 0 评论 -
前端面试之-性能优化篇
前端面试之-性能优化篇如何进行首页加载优化?1.CDN分发:通过在多台服务器部署相同的副本,当用户访问时,服务器可根据用户跟哪台服务器地理距离小伙子哪台服务器此时的压力小,来决定哪台服务器去响应这个请求。2.后端业务层的缓存:数据库查询缓存是可以设置缓存的,这个对于处于高频率的请求是很有用的。同时,接口也可设置缓存。可以使用协商缓存。3.静态文件缓存方案:使用强缓存。4.前端资源动态加载: 路由动态加载 组件动态加载,对于不在当前视窗的组件,先不加载。 图片懒加,禁止视频或音频自动原创 2021-04-06 17:44:26 · 118 阅读 · 0 评论 -
html和CSS面试题
1.在css 中link和@import的区别是什么? 1.从属关系上来看 @import是css提供的语法规则,只有导入样式表的作用; link是HTML提供的标签,可以加载css文件,还可以定义RSS,ref连接属性等。 2.加载顺序: 加载页面时,link标签引入css的同时被加载 @import引入的css将在页面加载完毕后被加载 3.兼容性的区别: @import是CSS2.1才有的语法,因此只可在IE5+才能识别 link标签作为HTML元素,不原创 2021-03-02 14:52:48 · 103 阅读 · 0 评论