2024届 面试总结
编程语言
2023-07-29 20:59:34
阅读次数: 0
一面(技术面 50分钟)
- 自我介绍
- 你平时是怎么学前端的?
- 你刚刚有提到单点登录,什么是单点登录。你当时是怎么实现的?ST,TGT,登录态Ticket 存在哪里?
- 你会涉及到一些跨域的问题吗?
- 项目中的 Cookie 会涉及到安全问题吗?怎么去避免?
- Cookie 过期时间
- 项目中用到了 UmiJS、React、dva,你是怎么做技术选型的?
- 讲一讲在用 dva 过程中遇到的问题
- 从 dva 中获取数据时,你一般会怎么写?
- 讲一讲 webpack 相关的配置
- 移动端样式要怎么适配,从 css 方面讲。(讲了 flex 布局、grid 布局、rem 布局、百分比布局、媒体查询、视口viewport)
- 刚刚提到了 px2rem,你具体是怎么实现的?(刚开始提了 vscode 插件,后来面试官引导出 postcss,讲了一下 postcss 和 lib-flexible 是怎么做 rem 布局的,又讲了一下设计稿和 rem 布局的尺寸联系)
- 研究过 lib-flexible 的源码吗,讲一讲它是怎么实现的(https://github.com/amfe/lib-flexible/blob/2.0/index.js)。最终执行的是什么?(自执行函数)
- 讲一讲 lib-flexible 和 postcss-pxtorem 是如何搭配的?
- flex 布局常用的属性有什么?(讲了常用属性,flex-grow 的缩放比例、flex-shrink 的缩放比例的细节)
- css 盒模型介绍一下
- 哪些属性可以控制盒模型的大小和间距?(比较基础¿¿¿ padding margin width height)
- 如何用 css 实现动画效果?(讲了 animation transition keyframe)
- css 实现三角形(讲多了,应该只讲一个 border。把 canvas 和 svg 的实现方法也讲了)
- es6 的新特性有哪些?
- 怎么实现数组去重?
- 解释一下 Promise。(解释了一下 Promise 的三个状态,Promise 与微任务相关的内容、Promise.race.all.allSettled 相关方法)它解决的问题是什么?(回调地狱)
- 解释一下前端事件循环。(分别解释了浏览器事件循环和 Node.js 的事件循环,并举例了宏任务和微任务)
- 讲一讲浏览器和Node的区别
- 用过 async await 吗?讲一讲它和 generator 的区别
- 讲一讲 React 和 Vue 的区别和原理(这里只顾着讲原理,把单向数据流、双向数据绑定忘掉了。。。)(讲了一下 Object.defineProperty, Proxy, 和 setState)
- 讲一下 React 类组件和函数式组件的区别。并分别讲一下他们的生命周期
- 列举一下 React 的性能优化策略。(shouldComponentUpdate、PureComponent、memo、useCallback、useMemo、useTransition、useDeferredValue)
- 情景题:想实现一个搜索的功能而且要实时预览搜索结果,你怎么考虑?(从前端防抖、useTransition优化交互事件角度解释了一下)
- 说一下防抖和节流的区别
二面(技术主管面 25 分钟)
- 简历上的项目需求是哪里来的
- 项目同时用了 React 和 Vue3,为什么这么考虑呢?
- TypeScript 中 enum 和 es6 定义的常量有什么区别?
- 讲一下 es6 的 symbol 是如何实现唯一性的?(懵,不知道原理。就讲了一下所有的使用细节,Symbol.for、keyFor、[Symbol.hasInstance]、[Symbol.iterator] )
- 讲一下数组的遍历相关的方法。说一说区别,有去对比过它们的性能吗?(这里讲了 map, filter, some, every, forEach, reduce)
- 情景:有一个 async 函数,里面用了 await。问 for 和 forEach 哪个可以遍历操作中等待?(没听懂题意,答错了。forEach不可以,因为 forEach 不能跳出循环,所以 await 不能阻塞循环)
- 你的项目用到了微前端。描述一下什么是微前端。qiankun 的沙箱底层上是怎么实现的?(这里分别讲了JS隔离和CSS隔离的方式)
- 学习前端多久了?怎么学习的
- 有给自己制定前端学习目标吗?(投屏看了一下我 CSDN 里面的学习计划)
- 有兴趣爱好吗?(玩游戏。。吃。。)有运动类爱好吗?(打羽毛球。。跑步¿¿¿)
- 四级过了吗(没过,有计划吗?什么时间实习)
三面(Leader + HR面 35分钟)
- 能做一个英文的自我介绍吗?(超级尴尬。。。磕磕巴巴说出来几个单词,最后放弃了。丢人,以为要挂了)
- 偏前端还是偏后端?
- 在搭建项目的时候,是怎么思考架构的?
- 用 Node 去做单点登录服务,怎么保证它的多并发呢?(提到了 nginx)
- 你有测试过限流起作用吗?(没有)
- 你用过很多前端框架,是从底层学习还是只在使用层面上学习它?
- WebServer你了解哪些?(答了 tomcat、nginx、node的pm2)
- 觉得它们有什么区别吗?(懵,说了一下 tomcat 只是学校学的在使用,没有了解)
- 你用的 nginx 是本地化的还是云服务上的?
- 会涉及到一些中间件吗?(讲了一下后端使用中间件处理后端权限,处理 RBAC)
- 后端也是自己搭的吗?
- 你对前端和后端的理解是什么?
- 怎么看待后端的工作逐渐转向前端?(猜测了一下问题的意图,讲了一下 CSR 和 SSR 并对比了一下区别。讲了一下 SSR 的渲染流程,hydrate 过程)
- 总结一下服务端渲染的优势。(说了一下 SEO 优化和安全问题)
- 说一说接下来的职业规划
- 知道公司的业务是做什么的吗
- 现在人在简历上的位置吗?考虑的工作地点。了解过吗
- 有同时面试其他的工作机会吗?
- 收到其他 Offer 了吗?
- 没有直接接受 Offer 的原因(从技术氛围、职业发展角度讲了一下)
- 公司吸引你的点在哪里?
- 期望实习的时候有什么样的工作状态
- 通过什么方式积累经验
- 可以开始实习的时间
转载自blog.csdn.net/m0_52761633/article/details/130872842