浅鱼

字节跳动前端面试总结
2018年12月3日下午2点到4点,历时2小时,共面试完了一面+二面。一面1、写一个css样式,要求A元素垂直水平...
扫描右侧二维码阅读全文
03
2018/12

字节跳动前端面试总结

2018年12月3日下午2点到4点,历时2小时,共面试完了一面+二面。

一面

1、写一个css样式,要求A元素垂直水平居中,左右两边各10px,文字也垂直水平居中,文字大小为20px。(写代码)
下面是案例图:
屏幕快照 2018-12-03 19.03.57.png

2、说一下你对原型链的理解;

3、如何使用原型链实现继承(写代码);

4、说一下Object.create();

5、跨域请求的几种方式;

6、浏览器的缓存分类;

7、HTTP中与缓存有关请求头,响应头字段。

8、event loop

2018年12月10日:
今天三面面试官问了我上次没回答出来的问题,其中一个promise,一个event loop。event loop印象中是上次一面没有回答出来的问题。上次下来后忘记了,把这个问题补上。

一面记得的问题就这几个了,问得都比较基础,还是很容易过的。




二面

1、写一个css两栏布局,左边宽度100px,右边自适应(石墨文档上写,不能用编辑器);
多种方式实现。

提示:float、flexbox、绝对定位方式、table表格布局、下一代CSS标准中的grid网格布局

2、js运行机制中同步异步相关的问题:setTimeout()的异步机制中打印顺序的问题;

3、同步、异步问题2: setTimeout()、 promise混合使用时同步异步问题;

4、你对promise了解多深?

5、写过组件吗?

6、算法题1:
list =
userinfo = {
'name': '梓逸宸‘,
'pinyin': ‘ziyichen‘
}

一个list数组,其中每一项为一个userinfo字典,现要求根据以下3种方式能够确定用户信息:梓、ziyichen、zyc
通过上面3种方式都能查询到以下这个对象:
userinfo = {
'name': '梓逸宸‘,
'pinyin': ‘ziyichen‘
}

7、算法题2:
例如list = [2,3,5,7,8], 从中选择3个数,使得它的值为一个固定值sum。(不用暴力求解),它的时间复杂度是多少?

8、讲一下你在项目中考虑的安全问题
CSRF、XSS

9、讲一下CSRF的原理

10、讲一下XSS的原理;

11、你能用你做过的项目举个例子说明什么是脚本攻击吗?

12、根据JSONP的原理实现JSONP函数:
function JSONP(){

}

因为对promise和JSONP的实现原理不是很清楚,第4问和第12问都没回答好。另外两道算法题虽然都回答出来了,但是感觉面试官对我的解法不是很满意,应该有更好的解法,暂时没想到。

今天二面完就让我回去等通知,想到二面的回答,估摸着可能凉了。

其中有的问题面试官是直接给代码问问题的,比如二面的2、3问,因为当时未登录直接编辑石墨文档,面试结束后就进不去了,所以没有代码展示了。




总结

经过今天字节跳动两面的面试经历,感觉自己基础知识还是有所欠缺,需要更加深入地学习。同时应该学习一些打包上线、自动化测试的知识。

Last modification:December 10th, 2018 at 04:35 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment