被挂的100个前端面经:小红书二面

遇到最难的一次面试了,压力很大,全长快两个小时了。。鼠鼠G了。。

(1)平时是怎么去学习前端的?

描述个人学习前端的方法,如在线课程、技术社区、博客、项目实践等。

(2)做 GPT 项目的背景和根源?

介绍GPT项目的目的、背景以及你参与该项目的初衷和过程。

(3)讲一讲流式渲染是什么,以及你在项目中是如何使用的?

(4)Websocket 跟 HTTP,优缺点?Websocket建立连接的过程,需要详细一点。通讯协议是什么,有哪些?

(5)说一下Pinia持久化的原理?有哪些实现方式?用插件实现的,那这个插件是做了什么事情?

Pinia持久化通过将状态存储在本地存储中实现,可以通过插件自动同步状态到localStorage或sessionStorage。

(6)看代码题:宏任务与微任务、原型链、构造函数、this的指向

(7)this 是什么东西,有什么用,我可以拿他来干什么?有什么运用场景?

(8)new 一个对象或者函数的时候,它中间发生了什么事情?原理是什么?

使用new操作符创建对象时,会经历创建对象、链接原型、设置this值、执行构造函数和返回新对象等步骤。

(9)算法题:求最长上升子字符串?

描述并实现一个算法,找出给定字符串中的最长上升子序列。

(10)当输入 URL,按下回车,浏览器发生了什么事情?

(11)在解析html的时候,遇到js会暂停解析html,你有什么办法来让它不暂停吗?

讨论如何通过异步加载JavaScript文件(如使用async或defer属性)来避免阻塞HTML解析。

(12)CSS有什么可以实现动画的?

(13)知道跨域嘛?要怎么进行解决?有什么方式?

讨论跨域资源共享(CORS)的概念和解决方法,如设置Access-Control-Allow-Origin响应头。

(14)如何去保证、判断用户的登录态?

描述如何通过会话管理(如使用cookie、localStorage或token)来维护用户的登录状态。

(15)在vue中有响应式,讲一下响应式是什么?以及如何实现响应式?

Vue中的响应式系统允许数据的变化自动更新到视图层,通过依赖追踪和发布订阅模式实现。

(16)能用原生的方式,不借助vue去实现响应式嘛,怎么实现,有什么方式?

(17)pnpm有什么用?他跟npm、yarn有什么区别?你为什么要选择pnpm,他是有什么优势嘛?

#软件开发笔面经#
全部评论
还好吧,感觉底层原理一个没问啊
点赞 回复 分享
发布于 08-01 17:15 浙江
这在大厂里问的真的算是简单的了
点赞 回复 分享
发布于 08-01 17:15 浙江
搜狐畅游
校招火热招聘中
官网直投

相关推荐

09-11 15:45
已编辑
西安理工大学 前端工程师
难顶,真难,实习和项目都没问,好几个问题有些刁钻需要1年以上工作经验才能答。不过面试官长相酷似方博,表情严肃,但我乐了。1. 了解小程序吗,答了解。好,那你可以简单介绍一下小程序的底层架构吗2. uniapp是怎么做到多个小程序的兼容的话呢3. 这边能简单介绍一下cdn吗。巴拉巴拉。那一般什么东西放到cdn上呢4. 那你在开发一个项目中怎么接的cdn5. 那怎么做文件更新呢6. 介绍一下js的作用域7. 块级作用域和函数作用域是一个东西吗。巴拉巴拉。我在函数作用域内定义了一个var 变量,在函数外可以访问到吗8. 作用域链有了解过吗9. 对象的查找有了解过吗,想问下a对象上定义了一个b,我要访问a.b但是a上可能没有但a的父对象上有,能介绍查找的流程吗10. 你有用过vite吗11. 对浏览器调试有了解过是吧,介绍一下浏览器调试协议。懵了,后面得知要答cdp12. 你能讲一下在前端中有哪几种错误捕获方式。巴拉巴拉。如果没有捕获到你有什么办法去给他监听出来13. 出现webpack打包慢的话你会采取哪些方法优化14. 那编译加速有没有其他办法呢  好行,我这边没什么问题了,做一个算法题看一下代码能力吧。二维数组查一个数的下标索引,如果找不到的话返回[-1,-1]。属鼠直接暴力拆循环解掉了,面试官不满意,问优化方式。整场面试踉踉跄跄答完汗流浃背了
查看14道真题和解析
点赞 评论 收藏
分享
只有一轮技术面。1、ES6中常用的语法let、coonst关键字,扩展操作符,解构赋值,Map和Set,模块化2、数组能解构吗(1)解构一下const a = [1,2,3],如何拿到第一个元素const [first,second,third] = a; console.log(first)(2)解构一下const a = [1,.....],后面有多少个元素我并不知道const [first,...rest] = a; console.log(...rest)3、对象的合并最开始说了concat(但这个是数组的),然后说了bind,忘记说all了,面试官提示也可以用解构赋值4、Map(1)Map的应用场景?说了集合的概念,无重复值(2)Map的key可以放什么类型,Symbol这些可以放吗?可以的,Map的key可以放任意类型,普通对象的键值对当中只能是字符串和Symbol5、Set(1)Set的应用场景?说感觉不是很了解。面试官说了可以用在数组去重,瞬间想起来了(2)Set的数组去重返回的是一个标准的Array吗?不是,可以用Array.from或者扩展运算符转换成Array6、CSS中用flex布局处理垂直水平居中(1)已知内容大小用align-items和justify-content都改成center(2)未知内容大小,用transform有什么写法?没有用transform来处理过,不会7、(场景题)页面中点击div,使其从左边移到右边,可以用css动画效果,还有transform修改,还有margin。从性能的角度来看,用哪一个好一点。我说用CSS动画更好,也就是transition。(面试官说不太对,但是具体是哪一个也没太听懂)8、(场景题)假如说我现在有一个业务,要在业务代码里面去修改Ant-Design的某一个组件里面的classname的某些样式,我应该怎么写才能操作到其内部。(怎么修改到三方UI框架里面的样式?)用 :global。(可以通过 :global 选择器来覆盖 Ant Design 组件内部的样式。这种方法允许你在局部作用域的 CSS 中应用全局样式规则,覆盖第三方库中的样式。)9、React(1)(场景题)我清除我localstorage里面的某一个键值对,组件卸载的时候,我怎么能知道组件卸载了。(问的一脸懵,但是我猜应该是跟useEffevt相关)在useEffect中写一个return方法,在里面执行自己的业务逻辑。(2)如果想要计算某些东西,用什么hook比较合适一点。我要计算的这个值不是一直在变的,意味着我要缓存。(缓存就跟useMemo有关)缓存的话我用的是useMemo,缓存一些数据,只有当依赖项改变的时候,才会重新进行计算,(3)有一个和useMemo很像的东西,就是React.Memo,有了解过吗只听说过,应该比较的不是某一个参数,而是比较的传入的props。面试官修正我的话:其实路是对的,它是来缓存这个组件更新还是不更新,这就是用memo来控制的,如果有个性化的东西就在props中的方法写,给你新的props和旧的props来写你的校验的逻辑。(4)useCallback用来优化函数性能,比如说它可以缓存一个函数的实例,可以避免每次渲染页面的时候不会再次创建同一个函数。(5)状态管理器用过吗用过Redux。10、最近在项目中有没有关于性能优化的。说了最近用useMemo缓存数据的部分。11、反问(1)后面还有几轮技术面(2)部门负责的主要业务总结:面试官还是很好的,一直在引导我说,问的也都不是特别深入,薄弱点就是在css中transform和less预处理。整个面试只有30min,还是很友好的,毕竟只是实习面试。后续还有几个实习面试的,多多准备准备!#前端面经##前端实习准备#
查看13道真题和解析
点赞 评论 收藏
分享
6 17 评论
分享
牛客网
牛客企业服务