4/8快手前端一面

base北京,生活服务部门

全程无八股,无项目考察,直接手撕代码

第一题

// 在公司年会上,我们经常会有抽奖的需求
// 需要你实现一个抽奖的功能,包含如下要求
// 1. 对待抽奖者的名单进行乱序排列(打乱次序)
// 2. 点击开始抽奖时,运行start,在名单内随机指定一个index作为开始index
// 3. 每100ms以此index开始轮询抽奖列表,当用户点击stop时停止轮询inex,并返回抽中的人
// 4. 每次抽奖可设置n(n>0)个人中奖。每次抽奖抽1个人,中奖的人不可再次被抽中
const userList = [
    '王雪', '李阳', '张晨', '陈婷', '刘宇',
    '赵博', '孙洁', '周航', '吴梅', '郑勇',
    '王梦', '杨华', '徐杰', '马丽', '何昊',
    '林俊', '朱红', '范冰', '余宏', '吕娜'
];
class Lottery {
    // 完成你的代码编写
    }
}

// 模拟一次用户的执行,设置本次抽奖中奖2人
const lotteryIns = new Lottery(userList, 2);

const sleep = (t)=> new Promise(res=> setTimeout(res, t));
async function drew(len) {
  for(let i = 0; i < len; i++) {
      lotteryIns.start();
      await sleep(1000);
      console.log(lotteryIns.stop()); // 期望输出中奖者的名字
  }
}
// 执行抽奖3次
//输出2个中奖者的名字,和1个null
drew(3);

第二题

// 实现一个过滤求解函数,该函数2个输入值,支持传入2个数组
// 执行时会从第一个数组内过滤掉第二个数组内的值
// 并对过滤后的值进行加法运算
// 返回过滤后的结果和运算的结果
// 要求:优先完成上述内容
// 加分项:使用高效的方案实现
const arr = [2,4, 1, 0, -1, 5, 9, 3, 2, 4, 1, 0, -1, 5, 9];
const fArr = [2,4, 1, 0, -1];
const arrFilter = (target, input) => {
  // 完成你的代码编写
  let arr = target.filter((item) => !input.includes(item))
  let ans = arr.reduce((t,item) => t + item ,0)
  return {
      res: arr,
      sum: ans
  }
}
// 期望得到{res: [5, 9, 3, 5, 9], sum: 31}
console.log(arrFilter(arr, fArr));

第三题

// 我们经常需要做一些营销活动,会涉及到很多的商品。
// 现在有2个商品Product1和Product2,他们的一天内促销周期以二维数组存储
// 如:[['0300', '0312'], ['0614', '0714']]
// 促销周期数组内的每个子数组代表开始的日期(时分)和结束日期,24小时计时法
// 如:['0300', '0312']代表其3点00分开始,3点12分结束。
// 需求你求出2个商品同时参加营销的时间段是什么
// Input:
// Product1 sales time slot  = [['0709', '0720'], ['0108', '0120'], ['1512','1612']],
// Product 2 sales time slot = [['0300', '0312'], ['0614', '0714']],
// Output: ['0709', '0714']
const p1slot = [['0709', '0720'], ['0108', '0120'], ['1512','1612']];
const p2slot = [['0300', '0312'], ['0614', '0714']];
const getCommonPeriod = (slot1, slot2)=> {
}
console.log(getCommonPeriod(p1slot, p2slot)) //[['0709', '0714']]

反问的时候问了下是不是比较看重算法,回答是校招入职后就需要立即参与业务,相比基础更看重coding能力,二面会更多考察基础和八股。

感觉自己随机应变的能力还是差了点,写的太慢有种被拷打的感觉。

#快手##前端##面经##春招##手撕代码#
全部评论
lz,抽奖写出来了吗
1 回复 分享
发布于 2023-04-09 16:35 辽宁
这么大的公司连个员工培训都没有?
1 回复 分享
发布于 2023-04-08 23:09 陕西
楼主,你知道二面面什么吗
点赞 回复 分享
发布于 2023-04-11 16:32 广东
mark
点赞 回复 分享
发布于 2023-04-09 13:26 四川

相关推荐

老粉都知道小猪猪我很久没更新了,因为秋招非常非常不顺利,emo了三个月了,接下来说一下我的情况吧本人是双非本&nbsp;专业是完全不着计算机边的非科班,比较有优势的是有两段大厂实习,美团和字节。秋招面了50+场泡池子泡死的:滴滴&nbsp;快手&nbsp;去哪儿&nbsp;小鹏汽车&nbsp;不知名的一两个小厂其中字节13场&nbsp;两次3面挂&nbsp;两次2面挂&nbsp;一次一面挂其中有2场面试题没写出来,其他的都是全a,但该挂还是挂,第三次三面才面进去字节,秋招加暑期总共面了22次字节,在字节的面评可以出成书了快手面了8场,2次实习的,通过了但没去,一次2面挂&nbsp;最后一次到录用评估&nbsp;至今无消息滴滴三面完&nbsp;没几天挂了&nbsp;所有技术面找不出2个问题是我回答不上来的,三面还来说我去过字节,应该不会考虑滴滴吧,直接给我干傻了去哪儿一天速通&nbsp;至今无消息小鹏汽车hr&nbsp;至今无消息美团2面挂&nbsp;然后不捞我了,三个志愿全部结束,估计被卡学历了虾皮二面挂&nbsp;这个是我菜,面试官太牛逼了拼多多二面挂&nbsp;3道题也全写了&nbsp;也没问题是回答不出来的&nbsp;泡一周后挂腾讯面了5次&nbsp;一次2面挂&nbsp;三次一面挂,我宣布腾讯是世界上最难进的互联网公司然后还有一些零零散散的中小厂,但是数量比较少,约面大多数都是大厂。整体的战况非常惨烈,面试机会少,就算面过了也需要和各路神仙横向对比,很多次我都是那个被比下去的人,不过这也正常,毕竟谁会放着一个985的硕士不招,反而去招一个双非读化学的小子感觉现在互联网对学历的要求越来越高了,不仅仅要985还要硕士了,双非几乎没啥生存空间了,我感觉未来几年双非想要进大厂开发的难度应该直线上升了,唯一的打法还是从大二刷实习,然后苟个转正,不然要是去秋招大概率是炮灰。而且就我面字节这么多次,已经开始问很多ai的东西了,你一破本科生要是没实习没科研懂什么ai啊,纯纯白给了
不知名牛友_:爸爸
秋招你被哪家公司挂了?
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
10
42
分享

创作者周榜

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