鼠鼠2023前端秋招面经汇总

(hr姐姐别定位爆破鼠鼠,只是分享一点不成熟的经验)

自己看面经收获了很多,同样发挥开源精神,希望对大家有一点微不足道的帮助吧做好事攒攒好运

字节一面

  1. 项目
  2. Bfc
  3. js作用域
  4. 循环的方式,内部的原理,性能区别
  5. promiseA.then(promiseB)promiseB的状态 promiseA.then(res=>{},err=>{})
  6. 手写
  7. promise.allSettled
  8. 全排列

二面

  1. 进程线程区别
  2. Osi 、tcpip模型
  3. tcp滑动窗口。可靠传输,拥塞控制
  4. 布局,左边定宽右边自适应
  5. Script 顺序问题,解析 async defer
  6. 事件循环
  7. vue3新特性
  8. 实习
  9. 手写
  10. 最长不重复子串

三面

  1. 最复杂的一个项目
  2. 展示
  3. 怎么解决的
  4. 代码细节
  5. 某个功能
  6. 防抖时间怎么选的
  7. 实习
  8. 手写
  9. 对角线遍历数组,就是左上,到头之后,右下。先一条一条取出所有对角线,然后拼接(第一次使用方向向量没调出来)
  10. 读研否,base...

腾讯 一面

  1. 下拉刷新实现
  2. 滚动怎么设计,滚动是通过什么属性控制样式属性。
  3. 你怎么让这个页面进行滚动?这滚动实现方式是通过什么实现?(重复了好几遍)
  4. 实现滚动几种方式
  5. 文件分片上传,上传失败如何处理
  6. vue2 数组响应式,
  7. 源码学习途径
  8. 实习遇到的问题,这里回答的不是技术问题,踩雷
  9. 手写
  10. 柯里化
  11. Promise.all
  12. 跨域,cors
  13. 简单请求,复杂请求,get
  14. 事件委托
  15. 首屏优化

面试官反馈的问题

  • 太啰嗦,不够简洁;先概括重点,然后举例子
  • 重复
  • 不要太多虚的东西
  • 如果有的没做,得说一下以后打算如何做

新的一面

  1. 实习
  2. 手写
  3. 下划线转驼峰,需要递归
  4. 数组转树
  5. 项目
  6. await错误处理
  7. 下拉列表组件
  8. 项目
  9. 登录流程
  10. 常见的请求方式
  11. 加密方式
  12. 前端存储
  13. 安全
  14. 跨域

二面忘录了。。。

  1. 手写
  2. 字符串简单处理
  3. 数字整数部分按照千分位进行分割

三面

  1. 实习
  2. bff理解
  3. 读什么书,有意思的地方是什么
  4. 虚拟dom算法
  5. 实习工作产出与工作价值
  6. 代码质量
  7. 实习 leader对自己评价

Boss面

百度一面

  1. 组件库打包
  2. Npm install过程
  3. npm模块对第三方依赖的处理
  4. margin塌陷,一正一负会怎样
  5. Mouseenter mousehover区别
  6. 资源加载Onload onerr
  • promise输出
  • 最小的正整数,hash On

二面

  • 三数之和,双指针n*n
  • 全排列
  • 最长的符合条件的括号字符串

三面 设计LRU,js取巧了,利用map 有序插入的特性

快手 快手一面

  • 自我介绍的时候可以扩展一下,不要去读
  • c++ 看过实现吗,mini c++
  • 迭代器
  • 迭代器指向当前的位置,怎么获取下一个位置
  • c++模板操作
  • setTimeout setInterval requestAnimationFrame
  • 计时器精度
  • c++ sleep(0),放到while里会怎样
  • 自旋锁
  • 斐波那契,递归,备忘录,dp,时空复杂度分析

快手二面

  1. 项目
  2. 快速幂乘法

快手三面

  • 对象数组去重 自定义比较方法O(m),双循环检测元素是否存在O(n^2)代码几处疑问是否有O(n),set存引用不能直接用,每个对象进行编码,遍历时结合set
  • 本地vscode 用ts-node调试的js,调试ts原理=>转成js进行调试
  • 实习
  • 计网 模型缓存

钉钉一面

  1. 为啥前端
  2. 水平垂直居中
  3. 组件通信
  4. 开发流程
  5. 资源构建为什么要用平台,不本地构建好并上传=>灰度,版本控制,操作方便
  6. Ts es6=>es5 编译过程
  7. 虚拟dom diff算法
  8. 轮播图组件
  9. 三次握手,最后一次握手原因
  10. 项目
  11. 项目线上错误如何捕获,排查,处理
  12. 项目
  13. 手写
  14. 合并请求,利用防抖去写

二面

  1. 实习
  2. 服务端渲染
  3. Vue
  4. 读源码?
  5. 那些地方比较好?响应式,虚拟dom算法
  6. 性能优化
  7. 懒加载时机
  8. 前端稳定性
  9. 设计模式

电话面

  • 性能优化,渲染交互方面(防抖节流)
  • 网络安全
  • Vue 聊一聊,响应式 虚拟dom算法
  • 实习

三面

  1. 数组链表区别=》王道考研书吟唱
  2. 平衡树
  3. 举三个排序算法
  4. 冒泡
  5. 归并
  6. 快速
  7. 前端性能优化
  8. 代码质量
  9. 实习

米哈游被拷打麻了,好像也不让发,不搞了

腾讯音乐

  1. Vue
  2. 打包
  3. 性能
  4. 跨域
  5. Xhr
  6. 大文件上传
  7. 浏览器缓存,比如说一个图片怎么禁用掉缓存,强制刷新
  8. 浏览器事件循环
  9. Node 事件循环,一个具体顺序分析
  10. tcp握手
  11. 拥塞控制-慢启动
  12. Css script 在html里的顺序,渲染与执行时机
  13. 浏览器重排重绘
  14. Xss csrf;怎么转义的 &nbsp 等等
  15. 跨域
  16. 手写快排
#美团实习转正##腾讯#
全部评论
m
点赞 回复 分享
发布于 2023-12-10 17:23 上海
太强了哥
点赞 回复 分享
发布于 2023-11-23 14:26 陕西

相关推荐

上周组里招人,我面了六个候选人,回来跟同事吃饭的时候聊起一个让我挺感慨的现象。前三个候选人,算法题写得都不错。第一道二分查找,五分钟之内给出解法,边界条件也处理得干净。第二道动态规划,状态转移方程写对了,空间复杂度也优化了一版。我翻他们的简历,力扣刷题量都在300以上。后三个呢,就有点参差不齐了。有的边界条件没处理好,有的直接说这道题没刷过能不能换个思路讲讲。其中有一个女生,我印象特别深——她拿到题之后没有马上写,而是先问我:“面试官,我能先跟你确认一下我对题目的理解吗?”然后她把自己的思路讲了一遍,虽然最后代码写得不是最优解,但整个沟通过程非常顺畅。这个女生的代码不是最优的,但当我问她“如果这里是线上环境,你会怎么设计’的时候,她给我讲了一套完整的方案——异常怎么处理、日志怎么打、怎么平滑发布。她对这是之前在实习的时候踩过的坑。”我在想LeetCode到底在筛选什么?我自己的经历可能有点代表性。我当年校招的时候,也是刷了三百多道题才敢去面试。那时候大家都刷,你不刷就过不了笔试关。后来工作了,前三年基本没再打开过力扣。真正干活的时候,没人让你写反转链表,也没人让你手撕红黑树。更多的是:这个接口为什么慢了、那个服务为什么OOM了、线上数据对不上了得排查一下。所以后来我当面试官,慢慢调整了自己的评判标准。算法题我还会出,但目的变了。我出算法题,不是想看你能不能背出最优解。而是想看你拿到一个陌生问题的时候,是怎么思考的。你会先理清题意吗?你会主动问边界条件吗?你想不出来的时候会怎么办?你写出来的代码,变量命名乱不乱、结构清不清楚?这些才是工作中真正用得到的能力。LeetCode是一个工具,不是目的。它帮你熟悉数据结构和常见算法思路,这没问题。但如果你刷了三百道题,却说不清楚自己的项目解决了什么问题、遇到了什么困难、你是怎么解决的,那这三百道题可能真的白刷了。所以还要不要刷LeetCode?要刷,但别只刷题。刷题的时候,多问自己几个为什么:为什么用这个数据结构?为什么这个解法比那个好?如果换个条件,解法还成立吗?把刷题当成锻炼思维的方式,而不是背答案的任务。毕竟面试官想看到的,从来不是一台背题机器,而是一个能解决问题的人。
牛客51274894...:意思是光刷力扣还不够卷
AI时代还有必要刷lee...
点赞 评论 收藏
分享
评论
32
89
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务