百度前端日常实习一面面经-搜索产品部

面试时长: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)
    })
}
// 会输出十个10
21.看输出
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)) 

整体感觉下来,问的很全面,前面基础部分大部分都答出来了,但是细节扣的不到位,后几道代码输出题答的不是很好,快排尴尬的写错了一个单词,半天都在改bug。好像没问我Vue框架,最后面试官说框架不重要,他们看着基础,
让我多注重底层基础,写代码前多想想,不要上去就写,其他的还可以,很有收获的一场面试,受教了,继续加油吧~~
#实习##面经##百度##前端工程师#
全部评论
最近都是百度搜索在招人吗,我也面了有一些一样的问题,现在是第几面了?
1 回复 分享
发布于 2021-05-11 20:09

相关推荐

6 40 评论
分享
牛客网
牛客企业服务