字节跳动秋招前端6面面经(挂)

一面

  • 自我介绍
  • 拷打实习,项目难点和亮点
  • Jenkins有什么缺点
  • ANSI字符是什么,如何对它进行转译
  • 日志量太大具体有多少,为什么会导致页面崩溃,做了什么优化
  • 虚拟列表优化
  • LightHouse自动化方案的实现
  • 手写题:class私有属性 两种实现方法
  • React Fiber产生的背景
  • Virtual DOM
  • 手写题:实现一个Virtual DOM 和 diff 算法
  • 浏览器缓存
  • 反问

二面

  • 自我介绍
  • 挑一个比较有代表性的项目讲
  • 开始拷打实习
  • 从webpack迁移到vite是怎么做的,后续又遇到什么问题吗
  • SEO常见的做法
  • 代码输出题1
JavaScript this 考察 
题目描述 
描述信息
下面代码输出的结果是什么?
var length = 10;
function fn() {
return this.length+1; 
} 
var obj = { 
length: 5, 
test1: function() { 
return fn(); 
} 
}; 
obj.test2=fn; 
//下面代码输出是什么 
console.log(obj.test1()) // 11
console.log(fn()===obj.test2()) // true
  • 代码输出题2
async function async1() 
{ 
console.log('async1 start') 
await async2() 
console.log('async1 end') 
} 
async function async2() { 
console.log('async2') 
} 
console.log('script start')
setTimeout(function () { 
console.log('settimeout') 
}) 
async1()
new Promise(function (resolve) {
console.log('promise1') resolve()
}).then(function () { 
console.log('promise2') 
}) 
console.log('script end')

//script start
//async1 start
//async2
//promise1
//script end
//async1 end
//promise2
//settimeout
  • 算法题:n对括号的所有合法的组合
  • 算法题:三数之和
  • 最近有研究什么新技术吗,开始扯LightHouse自动化方案
  • 能提前来实习吗
  • 还面了哪些公司,进度怎么样了
  • 反问

三面

  • 自我介绍
  • 你是非科班,有学计算机相关的课程吗
  • 什么时候开始学习前端的,有做什么系统性的学习吗
  • 工作室的考核当时遇到最大的挑战是什么
  • 实习做的SEO优化,具体是哪些手段,最有效的是哪些
  • 同构直出方案
  • SEO优化这些在浏览器内也是生效的吗,还是只是在node上做的优化
  • 聊前端性能相关的一些优化
  • 又开始吹LightHouse自动化方案
  • 实习过程做了哪些性能优化
  • 图片格式优化是怎么常态化做的
  • webp有兼容性问题吗
  • QQ音乐这边的开发流程是什么样的
  • 会员支付这一块,在前端安全相关有做什么措施
  • 常见的前端安全相关
  • QQ音乐没有校招名额吗(已经转正失败力)
  • 算法题:大数相加
  • 算法题:字符串解码
  • 手写题:用 react 实现一个树形目录数组件,支持目录树的展示和点击展开收起操作
  • 反问

四面

  • 自我介绍
  • 拷打简历, 简历上写到的全问了一遍
  • 剩下的时间就是再聊实习业务和写题
  • 算法题:最大数组和
  • 算法题:反转链表二
  • 算法题:LRU缓存
  • 反问

五面 HR面

常规的HR面问题,没啥好说的,面了40min,有点刁钻

后面接到HR的电话,突然说要在加一轮部门交叉面

基本每一面都是秒过,隔了半小时HR就说通过了

六面 交叉面

两个面试官,全程实习拷打
写了两道题

判断矩形相交
hardman

9月2更新,面完秒挂…

跳楼了

#秋招#
全部评论
面试的岗位不是校招生,是CTO
63 回复 分享
发布于 08-29 17:07 广东
感觉是牛客史上最强前端😇
42 回复 分享
发布于 08-29 23:01 江苏
即使是面试都接不到的厂东母🐏人,看到t神的sssssp也会骄傲地挺起胸膛
15 回复 分享
发布于 09-02 11:28 北京
六面是真的狠
13 回复 分享
发布于 08-29 23:42 黑龙江
sssssssssp?
9 回复 分享
发布于 08-29 15:59 江苏
对待神的要求就是不一样
6 回复 分享
发布于 08-29 17:27 湖北
挂肯定不会挂了,不然面你那么多场是闲的没事吗大概率是定级
2 回复 分享
发布于 08-29 20:48 广东
什么部门呀,每一面一般是多久收到结果呀
2 回复 分享
发布于 08-31 11:08 湖南
河神
1 回复 分享
发布于 08-29 15:42 广东
SSSSP!
1 回复 分享
发布于 08-29 16:20 浙江
orz
1 回复 分享
发布于 08-29 16:39 安徽
海神
1 回复 分享
发布于 08-29 16:53 浙江
鼓大包了
1 回复 分享
发布于 08-29 18:01 上海
34k预定
1 回复 分享
发布于 08-29 22:29 广东
逆天
1 回复 分享
发布于 08-30 16:09 浙江
佬的Lighthouse自动化是看了km学的吗,我看里面有文章写得不错
1 回复 分享
发布于 08-31 12:16 广东
神经公司😅
1 回复 分享
发布于 08-31 23:38 山东
字节学历一般的会加面算法 不行就挂的
1 回复 分享
发布于 09-02 18:48 浙江
飞书也没啥好去的😋
1 回复 分享
发布于 09-03 13:17 上海
挂了可还行,字节脑子有问题
1 回复 分享
发布于 09-03 13:30 上海

相关推荐

        顺丰二面面经续集。1.monorepo的各个子应用是独立打包的吗?        有在字节实习的uu应该都接触过monorepo。我是进去之后才知道这个东西,但对他的原理也不明白,今天跟大家一块了解一下。        首先什么是monorepo。我个人理解monorepo是一个将不同项目的代码放在同一个代码仓库中组织起来的一种方式。可以想象github中的一个仓库中有很多小项目的代码文件。这些项目虽然有可能是相关的,但通常在逻辑上是独立的,并由不同的团队维护。像我之前实习时的项目仓库使用monorepo,仓库中既有web前端的代码,也有小程序前端的代码。        monorepo有什么好处?1.多个项目之间需要共享代码、组件或者工具库时,monorepo比较简便。使用monorepo就不需要将想要共享的部分发布npm包再去别的项目中安装,而是有一个share目录,专门放置共享的组件或方法等。2.统一依赖版本管理时更好的确保一致性。3.根目录下有一个package.json,每个项目也有自己的package.json,通过在根目录下npm install,它会自动安装所有子项目的依赖。4.在开发的时候,省去了在多个代码仓库之间切换的麻烦。还有很多优点,比如统一的CI/CD,统一的构建流程......        再谈谈不好的点。从我自己的使用角度来说,刚开始最常见的问题就是更新依赖时很容易改变了其他子项目的依赖,在全局npm install或者一些api update的时候,会给所有子项目都更新,但是可能版本更新会给别的项目带来不可预见的问题,这也是为什么需要code review,把这些不是你应该改动的东西要改回去。除此之外,打包构建需要专门优化,否则会出现打包时间过长。        那么回到monorepo的子项目是否是独立打包这个问题。要知道monorepo的每个子项目都是可以独立开发、部署、构建...试想如果只有其中一个子项目fix了一个线上bug,但是整个项目都要重新打包发布那么整个流程岂不是太过冗杂了,所以一定是可以独立打包独立安装才有足够灵活性的。但是能独立打包并不意味着你的项目中的子项目都是独立打包的,具体还要看是否在子项目package.json中配置了打包脚本。2.setState是同步还是异步        拷打完项目就开始拷打原理了。这个问题当时没记住啊,恨自己没多看两篇文章。        首先要知道这个同步和异步跟我们所谓的js同步任务异步任务不一样,是指调用setState后能否马上得到更新后的值,即是否立即调用render 函数渲染视图。        在react18之前,在react 可调度范围内的setState 就是异步的,反之,则为同步。什么是可调度范围?react 合成事件内同步执行的setState 就是可调度范围。什么是react 可调度范围外呢?宏任务:setTimeout ,微任务:.then ,或直接在DOM元素上绑定的事件等都是react 可调度范围外。        在react18中多了批处理功能(当 React 在一个单独的重渲染事件中批量处理多个状态更新以此实现优化性能),这意味着之前没办法批处理的情况都可以批处理了。在每次setstate时会产生一个优先级标志lane,对于相同优先级的多次更新任务,react实际只会复用第一个调度任务,在一次批量更新结束后才会更新实际变量的值。相同优先级的setState是异步执行的,而不同优先级则是同步的。        需要注意的是,由于js的闭包特性,同一份代码在类组件和函数组件中的执行结果是有差异的。        详细源码理解推荐以下链接(彻底搞懂setState到底是同步还是异步1,2,3):        https://blog.csdn.net/y_ang_1/article/details/136941891?spm=1001.2014.3001.5502        https://blog.csdn.net/y_ang_1/article/details/137151783?spm=1001.2014.3001.5502        https://blog.csdn.net/y_ang_1/article/details/137151803?spm=1001.2014.3001.55023.react的任务优先级策略,以及哪些任务优先级比较高?        这么多场面试,这是唯一一个问了这个问题的面试官,不得不说是有水平和经验的。东西太多了,我水平也不够,帖个帖子:https://juejin.cn/post/7207406497508114489        涉及原理的内容确实很难理解和掌握,多看点帖子多看点源码吧。        如果大家觉得对自己有帮助,感谢大家点赞收藏送花评论!希望大家意向多多offer多多!#软件开发##软件开发2024笔面经##前端##顺丰#
查看3道真题和解析 软件开发2024笔面经
点赞 评论 收藏
分享
115 166 评论
分享
牛客网
牛客企业服务