春招结束回馈牛友前端腾讯csig字节跳动Data教育业务面经

首先为新冠肺炎牺牲的烈士和逝去的同胞默哀。

这次春招主要就投了字节和腾讯,楼主去年在远景能源和字节抖音实习过,项目做的比较多
腾讯csig主要是共享屏幕做题,一面做两个,二面做3个,主要是考察基础(不会问的很深,前提是自己得说清楚哈我是指不会一直追问)
面试题也和其他面经差不多
大数相加、百度搜索框、找一篇文章中出现最多的英文单词、正则匹配字符串、继承(实现私有属性和私有方法)
三面四面就主要谈谈之前做项目的经历和难点、亮点(就是唠嗑)

字节面得这两个部门的面试难度就大很多
直接甩题吧。
Data广告系统一面
开始先聊了会,楼主一般自我介绍时候都会主动谈项目,把项目中学到的难点和亮点都主动说一下,能写的就写给面试官看。比如可以写一个redux源码,或者koa的application源码,即展示了自己(也撑过了时间。。。)
问了一下React的优化、PureComponent
然后如果不用PureComponent,怎么实现不刷新或者根据条件选择性刷新
1.async/await
async function foo() {
    return 123
}

async function bar() {
    const res = await foo()
    console.log(res)
}

bar()
问这种能不能取到res,如果不能是什么

2.实现一个promisify函数,可以直接用.then方式回调
function promisify() {
}


fs.readFile('/path/xxx', function (err, data) {
    if (err) { /**/ }
    else { console.log(data) }
})

const readFileAsync = promisify(fs.readFile)

readFileAsync('/path/xxx')
.then(data => {})
.catch(err => {})
题就做了这两个,马上就二面了。
二面 的空气就比一面凝重多了。。应该是很技术宅的男士,一看就强无敌
自我介绍完会追着项目问一下,
再就是问ES6新的数据类型和方法、跨域、xss,csrf、事件循环、Node会什么等等。
追问了一下跨域的jsonP方法怎么实现
说着说着就要求手写(建议大家手写一个储备哈)
基本上你答案中提到的东西都会深挖,大家回答的时候要准备好相关概念的应用场景。
然后就出题了
1.实现一个深拷贝
function cloneDeep(source) {
}

{
    abc: function () {}
}

[1, 2, 3]

{
    0: 1,
    1: 2,
    2: 3
}
2.圣杯布局
圣杯布局

<div class="container">
  <div class=''left"></div>
  <div class=''center"></div> 
  <div class=''right"></div> 
</div>
3.正则匹配电话号
138 139 11 电话号码的正则
4..写一个加法函数(sum):

sum() // 0

sum(1, 2, 3, 4)() // 10

sum(1)(2, 3)(4)() // 10

5.数组的扁平化
写完之后会追问如果数组是循环引用怎么办,我一下没明白是说啥,他举了个例子
let a = [1, 2, 3];
a.push([1,2,3,a]);
问这种怎么扁平化,我写了一会他说不好,提示用Set来做,如果处理过就放进set
再就是问了排序,相关算法的时间复杂度
其他不太记得了。。(给我的感觉就是很难而且面了80分钟,面试官出的题好像平时都做过很常规,但是他总会变式一下,问你这种情况下要怎么办,大家准备的时候一定要多看一些应用场景)
三面
设计一个百度搜索框,然后考虑到缓存命中和缓存策略应该怎么设计,如果要封装成公用组件应该怎么设计。然后就说等HR联络

字节教育业务
一面
也是大同小异,都是常见的JS和CSS面试题,也不会深挖,很容易就过了
出了一道题,把这个数组变成树结构,然后遍历输出
[{
            "student_name": "张阳",
            "grade_id": "100001238",
            "grade_name": "高三",
            "clzss_name": "402班"
        }, {
            "student_name": "徐新杰",
            "grade_id": "100001238",
            "grade_name": "高三",
            "clzss_name": "402班"
        },

]

二面
又是压迫力非常大的男士。。而且这位还在家里,网卡到不能开摄像头,家里还有小孩子在玩音乐玩具。。
问的都是计算机基础,线程和进程,网络模型,
但是这位好像希望你一口气把相关的概念、区别等等都说的很详细,也不会引导,你说完之后他如果不满意就会说“就这些吗?”也不知道他还想知道些啥。
1.用CSS实现一个梯形图形?
2.顺序是什么
const pro = new Promise((resolve, reject) => {
const innerpro = new Promise((resolve, reject) => {
setTimeout(() => {
resolve(1);
}, 0);
console.log(2);
resolve(3);
});
innerpro.then(res => console.log(res));
resolve(4);
console.log("pro");
})
pro.then(res => console.log(res));
console.log("end");
3.用 Javascript 实现快速排序方法 quickSort,参数为 array。
写完之后又问怎么优化
4.用 Javascript 构造一个循环队列,使得可以这样调用
const loopQueue = new LoopQueue(['Surmon'])
loopQueue.enqueue('SkyRover')
loopQueue.enqueue('Evan')
loopQueue.enqueue('Alice')
console.log(loopQueue.size, loopQueue.isEmpty) // 4 false
console.log(loopQueue.find(26)) // 'Evan'
console.log(loopQueue.find(87651)) // 'Alice'
写完之后又问一个完整的数据结构还应该有什么。

然后就面完了,这个部门我应该是备胎了,比较注重计算机基础、数据结构和算法,对JS几乎没考察

去年秋招的几家事件隔的太久了,我就挑印象深刻的说一下
美团点评:基础架构部
一面,面的比较详细,JS、React、CSS、计网等等,不会深挖,不会追问
二面,感觉直接来面后端的??自我介绍完就在牛客题库里随机拉了一道算法题,像是各大公司笔试出的那种。。。我写了一会就说不会,他说他看一下。。他看完提示说用什么波峰波谷来做,我还是不会,然后他又随机出了一道,他自己看完说:“算了不做这个”(他选择感觉都是笔试算法题,应该是觉得我可能还是不会),就说写个二分查找把。。然后就三面
三面,是比较温和的leader,聊了下项目,人生规划啥的
美团走完全程比较慢,花了1个月左右时间,除了一面,后面感觉都比较水。。

京东:金融部门
现场面的,出题不多,就现场手撕一道两道题,然后问浏览器的内核,渲染机制等
二面问数据结构,二叉树,树的遍历、先序中序后序等
然后就过了,没有三面。

小米有品:
比较常规,也没问数据结构和算法,两面就拿了offer

终于再也不用出来面试了😝,希望牛友们早日上岸!
#春招##腾讯##面经##校招##前端工程师#
全部评论
楼主选择去哪了
点赞 回复
分享
发布于 2020-04-04 11:38
楼主好牛
点赞 回复
分享
发布于 2020-04-04 13:02
小红书
校招火热招聘中
官网直投
楼主好厉害,腾讯是imweb么
点赞 回复
分享
发布于 2020-04-05 20:59
深拷贝要写到什么程序呀
点赞 回复
分享
发布于 2020-04-07 21:50
循环队列怎么写?
点赞 回复
分享
发布于 2020-07-23 16:51
楼主大大,这个是什么意思鸭? sum(1)(2, 3)(4)() // 10
点赞 回复
分享
发布于 2020-08-11 07:29
请问楼主,把数组变成树结构的那个是什么意思啊
点赞 回复
分享
发布于 2020-08-19 21:06

相关推荐

3 30 评论
分享
牛客网
牛客企业服务