字节跳动shopee新东方前端面经 字节内推码E3YBETT
打个广告,新的一批校招开始了,我们是企业应用,欢迎私聊了解情况。一小时回复
(分到我们这边(上海前端)*工作时间:10.30 - 21.00,没事可以提前走,双休不加班 *,找我备注分到我们业务线)
字节跳动校招内推码: E3YBETT
投递链接: https://jobs.toutiao.com/s/eGr5S7K
3.18虾皮hr电话约hr面,因为已经签了xx了,婉拒,之前看拉勾上介绍的也是特别想去这家公司的,只可惜流程较慢,一周笔试,一周一面,一周二面,一周hr面。
科班双非本
字节一面
- 自我介绍
- 讲一讲项目以及遇到的难点
- 浏览器一个tab页卡住了,为什么其他tab没事
- 讲讲线程和进程
- 浏览器有哪些线程
- tcp与udp区别
- 三次握手(完整字段描述)
- 为什么三次
- 全双工协议,交换序列号
- 为什么不两次
- 因为要交换序列号
- 为什么三次
- https建立过程
- 状态码
- 越多越好
- 前端安全xss csrf
- js数据类型(bigInt 告诉我还有一种这个)
- 细说 Object.defineProperty
- 0.1+0.2 != 0.3 有什么解决方案吗
- 跨域
- 浏览器缓存
- Memory Cache
- Server worker cache
- http缓存
- http2推送
- 导致重排有哪些事情,细说
- position属性
- 粘性定位
- 居中
- 一道事件循环的分析题
编程:
- 手写Promise.race
- 求两个链表公共节点
- 五分钟后再进入这个房间进行二面
五分钟后
- 自我介绍
- Vue和React哪个熟
- Hook用过吗(没有)
- Immutable呢(不会)
- 组件传值
- context有哪些api(没用过)
- 自定义事件是自带的吗
- 为什么虚拟DOM快
- React的key,讲一讲
- webpack用过吗(没用过)
- 浏览器渲染过程
- requestAnimationFrame讲一讲
- 又一次问线程(不会)
- css居中
- flex
- 画等边三角形
- 使用border
- 你有什么想问的吗
编程:
- 手写loadsh的
_.get
方法,要求能针对错误输入处理(你太菜了,问什么都不会,还是来个编程题劝退吧)
(3.9)找了内推的老哥,感谢老哥帮忙与hr联系,说二面过了,约三面(3.12)
三面
- 自我介绍
- 项目讲一讲
- 项目再讲一讲
- 项目又讲一讲
- 那么如何设计一个好的组件呢(高内聚低耦合??? 具体一点好嘛)
- 页面卡,你怎么检测
- 前端衡量性能指标
- 用户角度:首次渲染时间
- 浏览器角度:完全加载时间
- 后端角度:首字节时间
- 首页白屏
- 性能优化
- http
- 浏览器缓存讲一讲,原理,为什么。
- 图片
- http2
- cdn
- 。。。。。。
- http
- cdn是什么(答错了,我以为是服务器)
- cdn怎么找到最近的站点
- 场景题
- 设计一个扫码登录的逻辑,为什么你扫码就可以登录你自己号,同时有这么多二维码
- 讲清楚服务端,PC端,和手机端的逻辑
- 一个this指针和作用域的题,分析输出什么
- 盒子模型
- 两栏布局
- 因为提前了几分钟进,面的时间有多
- 职业规划
- 你的优缺点
- 有什么想问的
编程:
- ['ab', 'c', 'ab', 'd', 'c'] => ['ab1', 'c1' ,'ab2', 'd', 'c2']
- 字符串数组从左边变成右边,个数为1不添加,时间复杂度多少,空间复杂度多少。
- hashMap 循环两次,从后往前遍历赋值
二十分钟后hr联系,三面技术面已经通过,约hr面
hr面
- 实习公司为什么不留用
- 春招投了哪些公司
- 拿了几个offer了
- 面试发挥怎么样
- 平时怎么学习
虾皮一面
- js类型
- null和undefined区别
- null === null返回什么
- 面试官老哥说false,我说true,还让面试官试了一下
- 原型与原型链
- 继承
- new底层怎么实现(口述)
- instanceof怎么实现(口述)
- 跨域
- 强缓存和协商缓存
- 状态码
- 事件委托
- 为什么比正常绑定性能好
- 事件循环
- css 居中
- position
- 以什么定位
- 三栏布局
- vue和react哪个会的多一点(都不会)
- 讲讲key
- 虚拟dom
其他忘记了,3.13二面
二面
- 有一个对象,有什么方法能够遍历它自身的属性,而不是原型链的属性
- for of循环有用过吗
- js里面改变this指向有哪些方法?
- call跟bind的区别?
- ajax请求时,上传5M数据,服务端返回10M数据,一个页面有三条并行请求,为了用户体验,怎么知道当前用户进度百分比?
- option预检,这种跨域方案下,可以传递cookie嘛?
- cookie有名称值,还有什么其他属性?
- xss和csrf
- 怎么防御?
- token存在哪里
- 假设浏览器上有一个页面,页面上有一个列表,我想向列表中插入1000个Dom元素,for循环1000次,每次插入一个,发现性能方面的问题,怎么优化;
- 浏览器的事件模型,哪些阶段?
- 主要用的框架是react,react的hook了解吗?
- react中,最佳实践,性能优化?
- react的hook下有哪些优化方法?
- react中的受控组件跟非受控组件?
- 列举两个你在实际项目中的难题?
- 在react中怎么实现异步加载组件,比如点击按钮加载?
编程:写一个斐波那切数列的实现
缓存结果,第一次调用f(100) 耗时 100ms的话,第二次f(100) 耗时0ms
const fib = (() => { let arr = [0, 1, 1]; return n => { if(arr[n]){ return arr[n]; } for(let i = arr.length; i <= n; i++){ arr[i] = arr[i -1] + arr[i -2]; } return arr[n]; } })();
你对于应届生毕业之后的第一份工作有什么目标
新东方一面
- 自我介绍
- 讲一讲项目做了什么
- 不能转正吗
- 组内没HC了
- 看你笔试选择题是满分,编程题好像都是错的
- 你家的测试用例太少了,我直接凑了一下就ac了,懒得写了。
- 讲一讲快排,用了什么数据结构的思想(分治)
- 跨域
- 复杂请求了解吗
- 讲一讲
- 缓存
- 异步有哪些
- 定时器
- promise
- ajax
- position
- 粘性定位
- 两个promise,a和b,状态 都是pending,c是reject 问 a.then(()=>c);a.then(()=>b) 的promise状态
- 这个有大佬讲一下吗
- vue和react哪个会一点
- 都不会
- 那都讲一下生命周期吧
- instanceof 原理
其他忘记了。
深信服(一面挂)
常见类型判断
数组扁平化
es6的扩展运算符能将二维数组变为一维
[].concat(...[1, 2, 3, [4, 5]]); // [1, 2, 3, 4, 5]
根据这个结果我们可以做一个遍历,若arr中含有数组则使用一次扩展运算符,直至没有为止。
function flatten(arr) { while(arr.some(Array.isArray) { arr = [].concat(...arr); } return arr; }
对象防篡改
原型链
继承
- 说好几种
解决跨域
HTTP缓存
状态码
- 401 未登录
- 403 拒绝访问
xss csrf
event loop
1000个div绑定事件
水平垂直居中
async await
- await后面抛出异常就会直接改变返回的promise的状态,返回一个reject状态的promise
BFC
- 怎么设置
三栏布局
position
盒模型
box-sizing: content-box|border-box|inherit;
算法:力扣14题
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
var longestCommonPrefix = function(strs) { if(strs.length == 1){ return strs[0]; }else if(strs.length == 0){ return ''; } let i = 0; let sumstr = ''; let tem = ''; for(;i<strs[0].length;i++){ sumstr += strs[0][i]; for(let j = 1;j<strs.length;j++){ if(strs[j].indexOf(sumstr) != 0){ return tem; } } tem = sumstr; } return tem; };#字节跳动内推##内推##春招##实习##前端##校招##面试题目##字节跳动#