字节跳动飞书前端一面(1h13min)

这次面试感觉很难受,肯定要寄了,很多反常规的提问方式,难度都是层层递进,但我感觉涉及的知识点还是常见的,是我太菜了
1. 自我介绍
2. 前端学习路线
3. 项目中遇到的难点
4. token登录怎么实现的
5. 我想关闭浏览器后还能保持登录状态怎么实现
6. 还有其它的登录方法吗
7. Vue路由中我想用前进和后退怎么实现
8. 项目用的什么类型路由模式
9. hash模式怎么实现前进和后退
10. Vue为什么要有虚拟DOM?好处和工作流程?
11. 如果我计算属性有三个值计算了三次,那页面渲染了几次?
12. 那如果我又加了一个异步数据呢?
13. Vue从DOM树建立完成到页面上呈现做了哪些工作?
14. Vue的渲染机制能详细说一下吗?
14.2 都说标签里面要加key,你知道为什么吗?
14.3 那for和if里面加key效果一样吗?
15. 说一下闭包。
16. 闭包用在什么场景
17. 重排和重绘的概念,如何可以减少?(这里我说错了一个地方,被逮着问什么意思为什么,最后只能道歉
18. http2.0相比http1.0多了哪些特性?
19. 为什么可以多路复用?
19.2 队头阻塞了解吗?
20. http1.0是怎么做的?
21. 浏览器为什么只能建立6个连接?(我讲了多了有哪些不好)
22. 那为什么XXX(一个不知道的概念)允许让浏览器可以建立多个连接,不是不好吗?
23. 浏览器的渲染线程是怎么工作的?
24. 浏览器渲染线程和js线程冲突吗?是一起同时工作的?
25. 一个浏览器只能有一个进程吗?
26. 有没有遇到过看项目文档不懂的时候,怎么解决的?
27. 代码题:写输出结果。
28. 代码题:异步实现加法。(写是写出来了,但不会优化,后面20分钟一直暗示我怎么优化,但还是没想出来
反问:
怎么优化?对我的面试评价?(不能说)学习建议?(听了半天没听懂在说啥)
能感觉到面试官特别忙,给我的感觉是工作为主,顺便面试一下我,应该是KPI,感觉是G了
全部评论
你问的比我多多了😅
1 回复 分享
发布于 2023-10-11 22:57 上海
Vue从DOM树建立完成到页面上呈现做了哪些工作 这个不是问浏览器如何渲染出页面来的?
点赞 回复 分享
发布于 2023-11-01 22:54 福建
过了吗佬😂
点赞 回复 分享
发布于 2023-10-20 14:46 未知
佬面的是飞书那个组啊😢
点赞 回复 分享
发布于 2023-10-16 18:58 北京
压力好大
点赞 回复 分享
发布于 2023-10-11 18:08 湖南
实习还是校招?
点赞 回复 分享
发布于 2023-10-11 18:01 浙江

相关推荐

分享一下我用大模型修改(润色、包装)简历的心得。我发现写简历是一个长期的事情,新学的内容、实习的内容可能需要定期更改;获得了新奖项、四级变六级再变雅思、把别人简历好的内容拿过来等都要对简历进行一定的修改。刚开始写简历的同学不建议直接使用大模型进行修改,因为没有经历过多次修改和面试拷打,不能很好的主导简历内容,直接使用大模型修改可能会被大模型主导,导致写出来的简历内行人一看就pass。1. 简历内容一定要先多写。写出来后可以用大模型进行扩写,或者对自己感觉描述不准确的内容让大模型进行重写,之后自己进行整合,把一些大模型过度夸大的内容还原。这一步可能需要多次重复,最后形成一个较全的内容段落。2. 根据简历排版写出相对应的内容。不同人用的简历模板不同,可能对应的一行多少个字也不一样,别人提出有用的修改可能不能很好的契合自己的简历模板(比如,别人简历的技能抄到自己简历里,可能会一行多出几个字等),这个时候就需要用大模型进行修改。自己先进行修改之后交给大模型进行润色处理,再进行筛选,同样也是可能需要多次大模型修改。3. 简历不是一整页。    少于一整页:要么写点水奖、学生经历、自我评价,要么让大模型进行润色扩写并手动修改或排除过于夸张的。    多于一整页:按以下排序进行依次去除:学生经历、自我评价、少写奖项。如果还是多,优先把求职含金量较低的进行缩短(两行转一行)或去除。还是超过一页,对项目经历或者实习经历中废话较多的进行精简。我用大模型修改简历的一些小技巧1. 尽量用chatgpt,感觉它给出的夸大内容可以很容易的手动调整过来。2. 精简或者润色时开一个新对话,不然容易混淆内容。3. 我没有攒拿来就可以用的提示词,这里给出一些提示关键词:简历风格 精简 润色但不要过度夸大 以符合人类的阅读习惯进行语序调整
点赞 评论 收藏
分享
飞书前端一面面经:从基础到实战的技术碰撞一、面试初印象这次飞书前端一面给我的整体感受是节奏紧凑且直击技术核心。面试官风格沉稳,问题由浅入深,既考察基础能力,又注重解决实际问题的思维,是一次很有价值的技术交流。二、面试问题复盘1. CSS 基础考察面试官开场便询问我 CSS 基础掌握程度,我坦诚表示“不是很好”,随后进入具体问题:如何实现三列布局,要求两边宽度固定,中间宽度自适应。我首先提到可以用 JavaScript 监听窗口变化动态调整宽度,但面试官希望用纯 CSS 方案。我迅速想到 Flex 布局,并详细解释了实现思路:.container {  display: flex;}.left, .right {  width: 200px; /* 固定宽度 */}.center {  flex: 1; /* 自动分配剩余空间 */}接着,面试官追问 calc() 函数是否了解,由于平时使用较少,我仅简单说明了它能进行四则运算,用于动态计算 CSS 属性值,比如 width: calc(100% - 400px); 可以配合实现响应式布局。2. 项目与性能优化探讨当被问到 项目中的性能优化经验 时,我如实反馈:目前实习项目和个人项目经验较少,尚未深入接触性能优化模块。面试官没有追问,而是迅速切入算法题环节。3. 算法与代码实现题目1:封装 Promise 重试函数要求实现一个函数,传入请求的 Promise 和请求次数,请求失败时自动重试,达到次数上限后不再发起请求。我给出如下代码:function retryPromise(promise, times) {  let count = 0;  return new Promise((resolve, reject) => {    const run = () => {      promise        .then(resolve)        .catch((error) => {          if (count < times - 1) {            count++;            run();          } else {            reject(error);          }        });    };    run();  });}题目2:实现对象深拷贝我先写出基础版本:function deepClone(obj) {  if (typeof obj!== 'object' || obj === null) {    return obj;  }  let result = Array.isArray(obj)? [] : {};  for (let key in obj) {    if (obj.hasOwnProperty(key)) {      result[key] = deepClone(obj[key]);    }  }  return result;}面试官进一步要求 考虑边界情况,我补充说明:若对象属性为数组,需递归处理数组元素;若属性为函数、正则等特殊类型,需特殊处理。例如,对于函数可直接返回原函数,对于正则可创建新的正则实例。三、反问环节我向面试官提出疑问:“为什么在前端面试中如此看重 CSS 基础?”面试官耐心解答:“CSS 是前端页面布局和视觉交互的基石,良好的 CSS 能力能确保页面高效渲染和兼容性,是支撑复杂业务开发的基础,所以我们会重点考察。”四、面试结果与总结幸运的是,面试结果显示 已通过一面。回顾过程,坦诚承认自身不足并积极思考问题,以及在算法题中清晰的逻辑表达是关键。后续准备二面时,我将重点补足 CSS 知识盲区,积累项目实战经验,尤其关注性能优化相关技术,同时加强对 JavaScript 细节和边界场景的理解。这次面试也让我深刻认识到,扎实的基础和灵活的思维永远是技术面试的核心竞争力。
查看5道真题和解析
点赞 评论 收藏
分享
评论
16
72
分享

创作者周榜

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