字节跳动抖音直播前端一二三hr面面经

(准备字节面试的过程中从牛客上看了很多面经,收获很多,所以现在把自己的面经放上来回馈牛客.

一面 7.20
面试时长 40min
1.简短的自我介绍;
2.问了问项目,为什么用redux;
3.做个题目吧:TopK问题,,,我说了思路,面试官问是不是见过,我说是,面试官说换一道;
4.求字符串的最长公共子串,没想起来怎么做,这道理纠结了好久,说不清楚dp[i]j]表达的准确意思,一直到面试时间达到半个小时,面试官说时间原因,不做了
(,,,,,面试官这个时候有点失望,但是还不算太糟糕
5.问一个Css的问题,答了出来,深究问了一下,没答出来;
(,,,,,面试官失望指数+1
6.实现一个深拷贝

二面 7.22
面试时长 45min
1.做一道题吧 就是版本号比较,例如‘1.2.3’比'1.4.3'版本号小,写一个比较函数,我是这么写的 但是面试官说漏洞很多,但是我没发现。。可能是因为没判断空字符串?
function compare(version1,version2){
let ver1 = version1.split('.');
let ver2 = version2.split('.');
let len = Math.min(ver1.length,ver2.length);
for(let i=0;i<len;i++){
if(Number(ver1[i])<Number(ver2[i])){
return true;
}else if(Number(ver1[i])>Number(ver2[i])){
return false;
}
}
return ver1.length<ver2.length;
}
2. 用react hook实现一个倒计时组件,并显示时间。//部分实现 没实现出来
3.介绍一下react hooks的优点
4.进程和线程的区别 进程间如何通信 //不会
5.不会多线程,,用过多线程吗?
:没有
为什么没有
:js是单线程的
介绍一下js的单线程和事件循环机制吧
...
5.https和http2了解吗, 介绍一下https加密过程
6.介绍项目和遇到的挑战啥的.
7.反问。

三面:1个小时左右 7.26
1.自我介绍
2.问为啥不留本校读研
3.问来现在的学校达到自己当初的期望了没
4.实验室的方向是什么?简单介绍一下具体内容,现在的发展趋势,以及某一项工作的具体流程,反正问的很细,问到大脑短路
5.回顾一下你的第二个项目的逻辑架构和核心算法
6.回顾一下第三个项目,,
7.我们来做道题,大数相加的题,我说我见过,就过了
8.那来做道场景题吧,用React实现一个文件夹组件,而且并不知道有多少级子组件,可以用递归 。
9.再做道场景题,就是参观博物馆,一定要参观固定的五个点,那么从入口到出口经过这几个点的最短路径怎么算,
10.反问
hr面  40min 7.27
1.hr先自我介绍,然后让我自我介绍
2.问了问为什么来现在的学校读研,选择的标准是什么
3.介绍一下三轮面试下来对面试官的感受
4.介绍一下自己的几个项目,项目中的亮点
5.印象最深的项目是哪个,遇到过什么困难,怎么解决的
6.未来的职业规划
7.为什么不做算法做前端
8.目前在面试哪些公司,选择公司的标准是什么
9.我们公司目前加班情况还挺多,你觉得自己可以接受吗
10.你期望的工作时间是什么样子的
11.还有什么问题要问吗
#面经##字节跳动##前端工程师##校招#
全部评论
心慌慌  浙大大佬都能挂  越发觉得我要凉了
点赞 回复 分享
发布于 2020-07-29 14:44
大数相加就是字符串做加法吗
点赞 回复 分享
发布于 2020-07-29 13:28
啊,😂我太难了,我要是有一道算法没有优化或者写出来就毙了
点赞 回复 分享
发布于 2020-07-29 13:08
他们一看浙大估计会放低很多要求😂
点赞 回复 分享
发布于 2020-07-29 13:00
#字节跳动前端工程师面经# #前端工程师面经# #校招面经# 👈点击话题查看更多同类面经干货!每日面经精选,为你发掘牛客干货!
点赞 回复 分享
发布于 2020-07-29 11:28

相关推荐

1&nbsp;&nbsp;&nbsp;&nbsp;说一下实习项目开发到部署上线全部流程2&nbsp;&nbsp;&nbsp;&nbsp;怎么使用git进行管理的3&nbsp;&nbsp;&nbsp;&nbsp;git&nbsp;rebase用过吗,说一说4&nbsp;&nbsp;&nbsp;&nbsp;Git&nbsp;pull和git&nbsp;fetch的区别5&nbsp;&nbsp;&nbsp;&nbsp;暂存区&nbsp;工作区&nbsp;和&nbsp;远端仓库有什么区别6&nbsp;&nbsp;&nbsp;&nbsp;哈希的使用场景,为什么用哈希7&nbsp;&nbsp;&nbsp;&nbsp;哈希值是怎么计算的8&nbsp;&nbsp;&nbsp;&nbsp;map和set的使用9&nbsp;&nbsp;&nbsp;&nbsp;Websockt是怎么建立链接的10&nbsp;&nbsp;&nbsp;&nbsp;你说到101状态码,还有什么常用状态码11&nbsp;&nbsp;&nbsp;&nbsp;304状态码是什么情况下会出现12&nbsp;&nbsp;&nbsp;&nbsp;(围绕协商缓存和强制缓存的一些问题)13&nbsp;&nbsp;&nbsp;&nbsp;socket.io是怎么使用的14&nbsp;&nbsp;&nbsp;&nbsp;vue2和vue3的区别15&nbsp;&nbsp;&nbsp;&nbsp;proxy的原理了解过吗,是怎么用他实现数据响应式的16&nbsp;&nbsp;&nbsp;&nbsp;组件a为父组件,b1&nbsp;b2为子组件,b1b2有哪些通信的方法17&nbsp;&nbsp;&nbsp;&nbsp;你刚刚说的状态管理具体怎么用的18&nbsp;&nbsp;&nbsp;&nbsp;生命周期钩子,created和mounted的区别19&nbsp;&nbsp;&nbsp;&nbsp;可以在created里面发请求吗,为什么20&nbsp;&nbsp;&nbsp;&nbsp;created钩子中为什么不可以进行dom操作21&nbsp;&nbsp;&nbsp;&nbsp;dom操作会有什么影响22&nbsp;&nbsp;&nbsp;&nbsp;v-if和v-show,和直接销毁dom有什么区别23&nbsp;&nbsp;&nbsp;&nbsp;你说v-if性能开销大,为什么24&nbsp;&nbsp;&nbsp;&nbsp;diff算法说一下25&nbsp;&nbsp;&nbsp;&nbsp;computed和watch的区别是什么26&nbsp;&nbsp;&nbsp;&nbsp;computed是怎么实现缓存的,底层实现原理是什么27&nbsp;&nbsp;&nbsp;&nbsp;Vue&nbsp;router28&nbsp;&nbsp;&nbsp;&nbsp;哈希路由和history路由29&nbsp;&nbsp;&nbsp;&nbsp;路由切换时是怎么传参的30&nbsp;&nbsp;&nbsp;&nbsp;了解过哪些布局,flex布局说一下31&nbsp;&nbsp;&nbsp;&nbsp;宽高不定的div如何定位在屏幕中间,宽高为0能用flex实现吗32&nbsp;&nbsp;&nbsp;&nbsp;讲一讲js原型链33&nbsp;&nbsp;&nbsp;&nbsp;原型链的顶端是什么34&nbsp;&nbsp;&nbsp;&nbsp;有一个构造函数F,new&nbsp;实例f,f的原型链是什么样的35&nbsp;&nbsp;&nbsp;&nbsp;手撕:11位手机号脱敏,中间四位替换为*
点赞 评论 收藏
分享
10-13 11:03
门头沟学院 Java
一面:&nbsp;1.&nbsp;做个简单的自我介绍。2.&nbsp;详细介绍一下实习中你觉得做得比较好的一个项目,包括整体的业务背景、整体的系统设计以及你在里面做了哪些事。3.&nbsp;这里提到的事务,比如简单的DB和缓存场景,用事务来做其实也有问题吧?比如先写数据库,假设超时然后事务回滚了,但缓存数据还在,超时事务回滚了也没办法很好地保证这种强一致性,对吗?4.&nbsp;你提到的写完数据库后删除缓存,在这种场景下还会有什么问题吗?比如极限情况下的更新和查询冲突。5.&nbsp;针对这个项目,你们平时是怎么排查处理消息队列(卡夫卡)的消息堆积问题的?6.&nbsp;HashMap中解决哈希冲突的链表和红黑树,它们本质的区别在哪儿?为什么要把链表转为红黑树呢?为什么要选择红黑树呢?logN的搜索效率的数据结构不只有红黑树,为什么选择红黑树呢?7.&nbsp;HashMap是线程不安全的,ConcurrentHashMap是如何保证线程安全的?用到了CAS和加锁的话,是怎么样的过程,为什么要那么做呢?8.&nbsp;Redis里面的sds相比于C的字符串有哪些区别?有扩容操作那么还会有缩容操作吗?9.&nbsp;Redis为什么单线程快?怎么处理多个服务?什么是IO多路复用?内部是怎么实现的?10.&nbsp;实际场景中,怎么用Java实现主线程等待所有子线程处理完后,再汇总结果继续执行的场景?11.&nbsp;给一个场景,如果是下完订单后半小时内没有付款就取消订单,那么用什么做法来做?12.&nbsp;手撕中等二面:1.&nbsp;问实习2.&nbsp;MySQL中索引是怎么实现的?(比如你说的主键索引底层实现)3.&nbsp;假设单独对A列建了一个二级索引,现在有两个查询语句,哪一句的执行效率比较高?(语句1:select&nbsp;A,B&nbsp;from&nbsp;xx&nbsp;where&nbsp;A=1;语句2:select&nbsp;A&nbsp;from&nbsp;xx&nbsp;where&nbsp;A=1,&nbsp;对A建立了索引)4.&nbsp;用数据库进行写操作时,会给数据库加事务,发生错误时事务回滚是怎么做到的呢?5.&nbsp;你刚才说数据库里有三个重要的log,除了跟回滚相关的log,另外两个是什么呀?6.&nbsp;Redo&nbsp;log是存在什么场景呢?7.&nbsp;现在有一个场景,抖音个人主页会展示用户发的视频列表,要求列表按视频被点赞数量倒序排列(点赞最多的排在第一个),且抖音用户量大、页面访问量高。如果让你设计这个个人主页,从表结构(以MySQL为例)角度会怎么设计?8.&nbsp;视频表中会存储视频被点赞的数量,而你之前提到用Redis有序集合缓存用户视频列表并按点赞数排序,这两个数据源(MySQL和Redis)之间是怎么进行更新,以保证数据一致性的呢?9.&nbsp;你判断抖音个人主页的点赞数量场景,是否可以容忍数据有延迟?10.&nbsp;如果一个用户发了很多很多视频,按用户维度将所有视频放到Redis有序集合中会导致key过大,每次展示时阻塞时间久,有什么思路解决这个问题吗?11.&nbsp;手撕中等三面:1、基本都在问项目,而且面试体验很差2、两个各含&nbsp;50&nbsp;亿个&nbsp;URL&nbsp;的文件(每条URL64个字节),内存仅&nbsp;4GB,找出共同&nbsp;URL3、手撕中等秒挂
点赞 评论 收藏
分享
评论
6
58
分享

创作者周榜

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