首页 > #字节跳动-前端-12345面面经
头像
爱编程的小和尚
编辑于 2020-08-28 14:53
+ 关注

#字节跳动-前端-12345面面经


已offer,也没有我想象的那么突破天际的难,并强烈diss自己大学网络原理上课睡觉。

笔试:
10道题,具体的忘了。。

一面 50分钟

1、自我介绍

2、position的属性

3、重绘重排

4、什么时候触发重排

5、transform会触发重排么?为什么?

6、display:none 和 visible:hidden 区别

7、一段异步代码的输出,setTimeout 和 promise的事件循环 超恶

8、问输出结果 和typeof有关

9、问怎么判断 是一个数组

10、一棵二叉树的两个节点的最短距离

node{  depth:number //当前树的层级  parent:node  left:node  right:node }

11、代码实现:Q: 实现一个长按(500ms)事件, 触发长按时不触发点击

function addLongPressListener(target, handler) {

// TODO

}

12、你有什么想问的?
一面结束直接二面。

二面 50分钟

1、问项目,单点登录怎么实现,权限系统的表现,权限系统的架构是什么样的

2、get和post区别

3、你还了解什么请求? get put post delete options

4、put 和 post 有什么区别

5、你了解 options请求么?跨域有关等等

6、进程和线程

7、问一段代码输出,和箭头函数返回值有关,刚好看过es6的一本书里讲过。

8、new关键字的作用?怎么样链接原型

9、webpack loader和plugin的区别,什么时候调用等。你自己写过loader和plugin么?

10、vue源码 什么时候绑定dep 什么时候通知watcher 什么时候绑定watcher等

11、vue3.0的理解

12、vue-router源码

13、代码实现数组去重,问了时间复杂度多少

14、代码实现一个任务队列:
实现一个任务队列
支持添加任务,启动任务队列,停止任务队列,按顺序执行任务
任务都是函数,支持异步函数,支持设置每个任务的执行等待时间

15、你怎么学习前端技术?

16、你现在会的技术栈?

17、你有什么想问的?

3面1小时   三面猝,但一面二面表现不错,又加面

1、自我介绍,问了演讲都演讲的什么内容,社团技术公开课每次都要准备多长时间

2、flex:1 表示什么?(猝,不常用缩写,记混了)又详细说下,详细问了 flex-baisit

3、https有什么好处?原理?

4、如果dns解析给了你一个假的ip,https如何处理的?(不知道,猝)

5、https使用什么算法 ? (没了解过 猝)

6、代码题1:有关promise回调的,实现封装fn方法,成功时推向fullied,失败推向rejected。

7、代码题2:参数是两个dom节点,找二者最近的祖先

function sameParent(a,b){}

8、代码题3:用栈来模拟队列,并完成min方法,时间复杂度O(1),假设只有数字

class Queue{}

q.min() //获取队列中最小的元素

9、你的优缺点?

10、最后有什么想问的?

4面 1小时

介绍一下你的项目

vue将内容渲染到页面上的全过程?

如果改变data中某个值,页面怎么发生变化?

修改值以后页面怎么进行监听的,怎么重新渲染?observer数据劫持通知dep.notify进行页面渲染 ==》其中虚拟dom--》diff算法

diff算法,如何比较? 如果发现了变化是否继续向下比较?

.vue文件中三个部分如何编译成js文件的?没了解过,面试官引导,在js是怎么创建vue,定义vue组件的?blabla...

你推测一下.vue是如何编译的?blablabla...

vue中style如何编译? 不知道,我说webpack中有一个插件会把 选择器转换成 一个不重复的字符串类名...

编程题:保证tasks列表必须顺序调用,不允许使用async和await

如何区分用户权限,我说了项目中使用的方法,维护一个权限表。还可以使用cookie,怎么使用?

cookie和localStorage区别,其中说到了 expires 过期时间

说一下浏览器缓存?强缓存和协商缓存。

具体说一下通过什么来控制强缓存和协商缓存?

强缓存:cache-control 和 expires 这两个有什么区别?

协商缓存:etag和if-none-match 或 last-modified 和 if-modified-since 这两个有什么区别?

如果协商缓存没有过期,服务端会返回什么? --》304状态码

算法题:输入一个无重复的字符串,找出其全排列。

'abc' -> ['abc', 'cba, 'cab', ...]

function permutation(str) { }

五面:1h

1、自我介绍

2、问项目,项目的亮点,项目中比较困难的地方,sso单点登录(扯了好久好久),等其他项目问题。

3、代码题

有一个函数,接收3个参数: - asyncAdd 没有返回值 - callback 没有返回值

4、给了一个类似轮播图,实现下结构和样式。



更多模拟面试

全部评论

(7) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐