24秋招快手前端面经

快手一面(08.21)

1. 说一说 this

2. 说一说 call/apply/bind

3. 手写 call

4. 说一说 flex 布局

5. 介绍一下 flex: 1 代表了什么以及它的作用是什么

6. 实现三列布局,两侧固定,中间自适应

7. 手写数组的 flat,可以控制扁平化的层级数

8. 手写 retry 函数,参数为 fn、重试最大次数和重试间隔

9. 手写一个回溯算法,实现全排列

10. 描述下原型链

11. 手写 new

12. 介绍 HTTP 与 TCP 协议

13. 描述下 EventLoop 执行过程

14. webpack 中的 loader 和 plugin 的区别

15. 输入 URL 到页面呈现的过程

16. 优化页面加载时间的方法

快手二面(08.24)

1. 手写一个递归的算法

2. 手写一个 bfs 的算法

3. 写一写你知道的数组的方法

4. 介绍一下 at、foreach、map 方法

5. 开放题:介绍让元素在页面上消失的方法

6. 开放题:页面中如果打开一个新的页面,那么你有什么方法能获取上一个页面传递的数据

7. 你知道请求头怎么传递数据嘛

8. 你怎么对一个请求做处理,从数据发送到接受返回数据的处理

9. 你怎么处理 304 状态码

10. 介绍一下浏览的强缓存与协商缓存

11. 介绍一下你有什么想分享的项目吗?(我说了浏览器插件开发,electron 开发、百度的项目,没有说简历上写的项目,要说为什么,因为那几个项目我说了好多遍了,不想再说了)

12. 介绍一下你做过哪些浏览器插件

13. 浏览器插件能提供平时开发之外的功能吗

14. 和面试官进行了一下浏览器插件的技术交流(因为面试官也写过)

15. 你开发完 electron 后怎么做离线处理,比如通知用户应用更新了

16. 介绍一下百度的项目

17. 就百度的项目问了一些处理细节的问题,比如前端页面如何展示(react),如何获取数据(自己写 nodejs 接口),后端入库设计方案、单任务的异常处理、如何确定所有任务都已完成等等

18. 反问

-----------------------------------------------------------------------------------------------

更新:三面面试官在巴西出差,约了9.18号的三面

全部评论
认真的?手写这么多这面试官多少有点抽了
点赞 回复 分享
发布于 2023-09-03 21:14 浙江
哥们,你们的前端八股在什么地方学的,有没有网站推荐,*********
点赞 回复 分享
发布于 2023-09-01 18:33 湖南
这感觉好难呀
点赞 回复 分享
发布于 2023-08-28 15:22 重庆
这问的也太难了吧
点赞 回复 分享
发布于 2023-08-25 15:26 澳大利亚

相关推荐

2025-12-24 15:25
已编辑
门头沟学院 前端工程师
是腾讯的csig腾讯云,前天晚上九点突然打电话约面,激动的通宵学了一晚上,第二天状态很差改了今天(以后再也不通宵学习了)感觉自己浪费了面试官一个半小时单纯手写+场景,无八股无项目无算法,打击真的很大,全是在面试官提醒的情况下完成的,自己技术方面真的还是有待提高,实力匹配不上大厂和已经面试的两个公司完全不一样,很注重编码能力和解决问题的能力,然而我这两个方面都很薄弱,面试官人很好很耐心的等我写完题目,遇到瓶颈也会提醒我,写不出题也会很耐心的跟我讲解好感动,到最后面试结束还安慰我打算把下周最后一场面试面完之后就不面啦,如果能去实习还是很开心,但是最重要的还是好好努力提高技术以下是面经第一题// 实现一个解析 url 参数的函数function parseUrl(urlStr) {// TODO}parseUrl('*********************************************');// 返回 {a: 1, b: 2, c: 3}追问:在链接里见过什么部分?用 hash 路由的话放在哪第二题// 考虑有一个异步任务要执行,返回 Promise,这个任务可能会失败,请实现 retry 方法,返回新方法,可以在失败后自动重试指定的次数。/*** 异步任务重试* @param task 要执行的异步任务* @param times 需要重试的次数,默认为 3 次*/function retry(task, times = 3) {// TODO: 请实现}// ---------------测试示例 ----------------// 原方法const request = async (data) => {// 模拟失败if (Math.random() < 0.7) {throw new Error('request failed');}const res = await fetch('https://jsonplaceholder.typicode.com/posts', {method: 'POST',body: JSON.stringify(data),});return res.json();}// 新的方法const requestWithRetry = retry(request);// 使用async function run() {const res = await requestWithRetry({ body: 'content' });console.log(res);}run();第三题就是给 retry 函数添加类型注释,用到泛型第四题:在组件库中将 Alert 用 api 的形式实现(应该就是 message 这个组件)怎么渲染到一个浮层里而不是原地渲染出来
不知道怎么取名字_:技术这个东西,太杂了,而且要下功夫的
查看5道真题和解析
点赞 评论 收藏
分享
评论
6
52
分享

创作者周榜

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