字节前端实习面经(已拿offer)

  本人双非学校大三计科专业,专业搞的是前端,不打算考研选择了找工作,于是就想在这个假期尝试一下简历投递,首先投了虎牙然后过了两周仍然毫无音讯,最后通过内推开始了字节跳动一面,从内推到一面大概过了一周的时间,清楚的记得一面是2019.12.15下午五点。一面开始前紧张的不得了各种抓耳挠腮,好不容易熬到了面试开始还极其紧张,讲话都秃噜好几次了,一面基础面没有一点项目具体题目我就不说了,面完了的时候整个人都是虚脱的😱觉得自己大概率是无了,但是令人惊喜的是在第二天准备出去散心的时候接到了hr二面通知,整个人兴奋的飞起,时间约在了2019.12.17中午十一点,又好不容易熬到了面试开始,二面项目加手撕代码十分酸爽,问项目的时候还能乱七八糟的扯一扯,手撕代码的时候十分尴尬像挤牙膏一样面试官提示一点我写一点,经过了一个小时终于结束了,内心OS:完蛋。但令人窒息的是,隔了不到十分钟面试又来了,我简直就是黑人问号,我都跟小伙伴约好去哪里散心了(小伙伴得知我三面的时候暴打我欺骗感情),三面项目加系统设计有惊无险顺利度过到hr面,跟hr谈了十几分钟,hr跟我说最迟两天就可以发offer了,但是怎么说呢,感觉这一切很不真实就像假的一样,我何德何能能加入字节跳动,刚刚看了许多老哥们的惨痛经历hr拖了一个月没给offer的经历,突然慌了,有一些失眠。
还愿补面经

一面

1. git 缓存区工作区
1. 虚拟DOM diff 发散一下思维???
1. 回流 重绘
1. rem em
1. React新特性 新钩子 HOOKS HOC
1. SSL握手过程 对称加密非对称加密
1. 深拷贝
1. 箭头函数的this
1. node 事件循环
1. 数据库索引
1. fs读取文件转buffer
1. 性能优化 多种方案
1. http缓存
1. 打包的性能优化
将业务和依赖分开打包,依赖部分做缓存
1. 容器高度是宽度的两倍 多种写法
1. 自适应 多种办法
1. React的优秀之处 源码 发散一下思维???

二面

我主要有四个项目,一个是next搞的比赛系统(类似于OJ),一个是自己实现了一个cli(npm install sacc-cli -g),一个是专利搜索系统,最后一个是社团主页
面试官主要针对的是我的cli这个项目
Q:我怎么去实现的
A:通过自己定义模板然后放到git上通过执行`git clone`来实现
Q:遇到的难点,怎么解决的
A:无法判断操作系统而准确的执行相应的shell命令,解决方法是通过让用户选择自己的操作系统,并不能自己判断(面试官建议我去看看vue-cli 3的源码 后面问了一下vue-cli 2的源码)
Q:打开我的git看了我的代码提出问题(有一个记不得了)
```
-----------------------------------------
async (err, projectName, tplName) => {
spinner1.stop();
console.log('√文件目录生成成功')
if (err) {
tip.fail('文件名称重复!');
process.exit();
}
spinner2.start();
}
-----------------------------------------
//以上是我的代码 error-first callback

abc('close', cb)

完成一个 convert 函数
目标:将 error-first style cb 转成 Promise 调用的方式。
const abd = convert(abc);
try {
const param = await abd('close');
}
catch (err) {
// handle err
}


function convert() {
//...
}
```
A:写的过程曲折离奇,面试官提示了好多次才写出来的,感觉整个人都懵了
```
function convert(fn){
if(!fn){return }
return function(str){
return new Promise((resolve,reject)=>{
fn(str,(err,arg)=>{
if(err){
reject(err)
}else{
resolve(arg)
}
})

})
}
}
```
Q:有没有什么想问的
A:没有了

总结下来,二面的时候前半段面试官还是对我比较欣赏的,开始写代码以后就没有什么特别亮眼的表现了,把自己前面的加分给扣完了,万幸还是过了。

三面

三面换了一个姐姐来面试我,主要也是针对我的项目,首先让我介绍了一下我做过的东西,挑简历上有的介绍没有的就随便提一下。
Q:看你简历上写着做过数据可视化,讲讲你是怎么去做的
A:主要还是调API,比较复杂的地方是去设计可视化部分怎么去展示以及数据的转换
Q:数据转换具体说一下
A:说的比较简单就是说了一下操作数组对象转换成相应的数据格式以及通过官方文档里给的transform
Q:当量级变大肯定会变慢,怎么去解决
A:首先量级变大肯定是数据量变大了,这个可以去做本地缓存(比如存localstorage),更新频率高的交给http缓存。渲染怎么去优化我没打上来就是简单说了一下为什么会变慢(触发回流什么的)以及怎么去解决减少触发回流
Q:你之前提到浏览器的渲染机制详细展开说一说
Q:为什么会去做cli
A:曾使用过`create-react-app`和`vue-cli`发现都有一个通病就是装了太多我不需要的东西,我自己制作出来的cli相对于会比较纯净只拥有一些基础的依赖,还有有时候我们并不需要最新版的依赖而是特定版本的依赖
Q:设计一个input组件类似于百度输入框
A:零碎的说了几点
1. 默认热词(网页生成时拿到)
2. 类下拉的一个提示框,当聚焦input的时候可以根据方向键使用,上下的时候分别聚焦选中部分
3. 对用户搜索词做一些浏览器缓存(感觉没啥用
4. 节流(提示词部分
5. 还有一些公式化的设计标准等等
Q:为什么会选择前端
Q:职业规划

总结三面虽然面试官看起来像是没有感情的杀手但是人还是挺好的,给了我很多解决问题的思路引导我提出解决方案。


#字节跳动##实习##面经##前端#
全部评论
哎,为啥到我这就变了,无语
1 回复
分享
发布于 2019-12-18 11:13
最近字节补招,比较容易进的,我这水一水面了还给个sp。。
2 回复
分享
发布于 2019-12-18 05:29
博乐游戏
校招火热招聘中
官网直投
今年感觉。。水了好多
点赞 回复
分享
发布于 2019-12-18 05:35
请问前辈 怎么求得内推的呀?21届求职程序猿一枚 谢谢
点赞 回复
分享
发布于 2019-12-18 08:59
吸吸好运~
点赞 回复
分享
发布于 2019-12-18 11:32
加个v交流下?我也大三前端
点赞 回复
分享
发布于 2019-12-18 11:42
活捉大佬哈哈哈,水林间
点赞 回复
分享
发布于 2019-12-19 01:35
这个是面的暑期实习吗
点赞 回复
分享
发布于 2020-02-13 10:56
有笔试环节吗
点赞 回复
分享
发布于 2020-02-21 14:18

相关推荐

背景:本科:哈尔滨工程大学(自动化)硕士:哈尔滨工程大学(计算机技术)本科四年太久远了,几乎都回忆不起来了,这里只好一笔带过了。研一:大学生创新创业大赛省级比赛获奖*1 软件著作权*1华为智能基座一等奖*1校三等奖学金*1感言:刚怀着激动步入研究生的生涯,就在评奖学金的时候遭遇了第一个滑铁卢,只拿到了三等奖学金。总而言之是平平无奇的一年。研二:大学生创新创业大赛省级比赛获奖*2大学生创新创业大赛国家级比赛获奖*1IEEE(ICMA)会议*1华为MindSpore实习*1国联证券算法实习*1校二等奖学金*1感言:靠着一些运气好和小聪明,使我也算小有成果。在前半个学期一边在苏南某大学联合培养,一边在华为做线上实习。2022年的冬天刚好是疫情放开的时间段,开始找第二段实习但是无果。在2023年的春天结束联培回到校本部,开始找暑期的转正实习。大概投了几百份简历之后获得了一些线上/线下的面试机会,其中最想去的是成都的邮政储蓄银行软件研发中心(主要是很喜欢成都而且银行比较wlb),为此我还在4月底专门去了趟成都线下面试,还解锁了我人生中第一次穿正装(p2),但是不出意外地被刷了。如果也是去年或者今年找工作的uu应该知道,近年来银行都非常卷。最终去了国联证券的信息技术部实习。研三:大学生创新创业大赛省级比赛获奖*1 软件著作权*1校一等奖学金*1长城基金系统开发实习*1感言:在这个学期才明白:失败才是人生的常态。首先是国奖失利,接下来是面试失利。我投了大概500份简历,简历/笔试/面试挂已经习以为常了,不过也获得了若干不太满意的offer都拒绝了。最终选择去长城基金实习看看有没有机会转正,在深圳实习了一个月之后实在受不了大城市的快节奏和压力,所以还是没有选择长城基金。离职之后写完毕业论文,抽出两个月时间环游了全国很多想去的地方,同时收到了国联证券的实习转正机会,最终才尘埃落定。用一句古诗来总结我这三年来的研究生生涯吧:两岸猿声啼不住,轻舟已过万重山。
点赞 评论 收藏
转发
6 69 评论
分享
牛客网
牛客企业服务