前端面经-字节跳动国际化电商部门base深圳

字节一面

vue的nextTick的实现原理

图片懒加载的实现

编程题:实现trim
编程题:实现promiseAll
看输出:
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');
}, 0);
async1();
new Promise(function(resolve) {
  console.log('promise1');
  resolve();
}).then(function() {
  console.log('promise2');
});
console.log('script end');
编程题:寻找岛屿

给一个0 1矩阵,求不同的岛屿的个数。

0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。

一面总结:面试官问的题目都比较基础,我能记到的就是上面这些,没记得是比较基础得题目,多看面经能解决,字节真的会比较看重编码能力,但其实考察得题目都不是很难,而且面试官都会引导,不要紧张,保持好的心态就没问题

字节二面

边界合并和边界溢出

编程题:实现一个拼手气分红包的方法,传入总金额及人数,返回每个人分得的金额数组(单位为分)

  1. 每个人至少要有1分钱

  2. 总金额不能超过或不到

编程题:每隔一秒输出一个树,用setTimeout来实现

智力题:64匹马,8个赛道

每场比赛只知道名次,不知道具体的时间

用最少的场次,得到跑得最快的4匹马
二面总结:二面面试官很耐心,会引导,然后带着我一步步解决问题,总之还是自己不要紧张,一紧张就会大脑空白只要不紧张跟着面试官得思路总能解决的。

字节三面

ps:可能因为我说过想往全栈方向发展,所以面试官问我后端的比较多
什么是线程安全,有没有多线程编程过
写sql(用到group by)大致就是找出部门中工资最高的员工

编程题:给定m个不同字符 [a, b, c, d],以及长度为n的字符串tbcacbdata,在其中找到一个长度为m的连续子串,使得这个子串刚好由这m个字符组成,顺序无所谓,返回任意满足条件的一个子串的起始位置,未找到返回-1。比如上面这个例子,acbd,3

编程题:从起点开始接下来有 100 个方块,相邻方块间的距离都为 1,每个方块上有增加体力的食用蘑菇或减少体力的毒蘑菇,蘑菇带来的体力改变是已知的。一个人初始体力为 m,每次可以往前跳任意个方块,体力耗尽就会死掉。每跳一次消耗的体力与跳的距离成正比,比例为 1。问这个人能否跳到终点,如果能,求可能剩余的最大体力。
怎样保证tcp传输的可靠性,以及拥塞控制的过程
数据库中的索引,用b+树做索引有什么好处
进程的调度方式
三面总结:在介绍的时候一定要说自己擅长的,引导面试官,对编程题的描述不确定的要反复的像面试官确认题目的意思。


#面经##字节跳动##前端工程师#
全部评论

相关推荐

投递快手等公司10个岗位 金三银四,你有感觉到吗
点赞 评论 收藏
转发
4 38 评论
分享
牛客网
牛客企业服务