字节跳动前端实习岗一面面经
1. 讲讲child1,child2的变化,为什么?
<div> <div class='child1'></div> <div class='child2'></div> <div class='child3'></div> </div> .child2 { transform: translateY(200px) }2.实现一个三角形
3.typeof [] 和 typeof {} 结果是?为什么? object
4.怎么区分数组和对象
5.讲讲输出了什么,为什么?
bbb,aaa
Object.prototype.a = 'aaa' Function.prototype.a = 'bbb' function fn(){} var child = new fn() console.log(fn.a) console.log(child.a)6.说说输出了什么,为什么?
2431
setTimeout(function(){ console.log(1) },0) new Promise((resove,reject) => { console.log(2) resove() }).then(function(){ console.log(3) }) console.log(4)追问,除了promise还有什么异步任务
7.为什么js加载用src,css加载用href?
回答了js会阻塞页面加载,dom构建的时候遇到js代码会停下去下载解析js,引擎线程和gui渲染线程互斥......,而css是并行加载的......balabala...
感觉跑题了,回答完面试官问下一个问题了
8.为什么第一次打开页面会慢,之后会快?
回答了浏览器的缓存,又讲了一下强缓存和协商缓存
问还有会缓存?我答:硬盘?
dns知道吗?我答:嗯,知道,是域名服务器。
面试官:域名服务器会缓存域名
9.有用过node.js吗?
我说没怎么用过(pass)
10.实现一个快排+优化(不用递归)
#字节跳动前端实习面经##字节跳动##实习##前端工程师##面经#