百度前端日常实习一面面经-搜索产品部
面试时长:1h10min
1.说说flex盒子,各个属性的作用
2.怎么实现两栏布局,左元素宽度固定,右元素宽度自适应
3.垂直水平居中
4.什么是BFC,怎么触发
5.positiong各个属性,relative相对谁定位,absolute相对谁,如果父层一直没有relative,找谁,fixed相对谁,(这块问蒙了,不扎实)。
6.H5新增的API
7.canvas和video用过吗?说说canvas常见的api
8.cookie和localStorge,sessionStorge区别,怎么操作localStorage (操作localStorage的api忘了)
localStorage.setItem('accessToken','conghuhu')//存储数据 localStorage.getItem('accessToken') // 获取数据 localStorage.removeItem('accessToken') //删除数据 // 修改数据和存储数据用法一样
9.CSS3新增的特性
10.怎么让字体超过后显示省略号(没说全)
overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width:100%;11.CSS3新增的动画
12.伪类和伪元素
13.var let const区别
14.箭头函数和普通函数的区别
15.什么是Promise,常用的方法有哪些
16.async和await
17.重绘和回流,哪些会只会造成重绘,不会造成回流;改变position会造成回流吗
18.call apply bind区别
19.代码题:实现事件委托:三个li,点击输出对应的id(算是写出来了,没写完,面试官看懂了,就过了)
20.看输出:
for (var i=0;i<10;i++){ setTimeout(()=>{ console.log(i) }) } // 会输出十个1021.看输出
var a = 1; var a = function(){ console.log(2); } console.log(a) // 输出 [Function a]22.手写快排
var list = [2,6,3,4,1]; function mySort(list){ if(list.length == 0|| list.length == 1){ return list; } let indexList = Math.floor(list.length/2); let middle = list.splice(indexList,1); let left = []; let right = []; list.forEach(item=>{ if(item>middle){ right.push(item); } else{ left.push(item); } }) return (mySort(left)).concat(middle).concat(mySort(right)); } console.log(mySort(list))
让我多注重底层基础,写代码前多想想,不要上去就写,其他的还可以,很有收获的一场面试,受教了,继续加油吧~~
#实习##面经##百度##前端工程师#