百度前端一二面经

4.12百度连续两面,暂时想到那么多,后面想到再补充
百度一面

1.说一下快排

2.介绍一下状态码

3.两栏布局(一列固定一列自适应)还有两边有空隙(空隙在不同屏幕是固定的怎么实现)

4.元素的垂直水平居中?有考虑过兼容写法吗?

5.本地存储(cookie、sessionstorage、localstorage),有考虑过网络攻击处理吗?写项目的时候使用到了哪些?

6.vue的双向数据绑定原理

7.vue的父子通信

8.说一下怎么消除递归

9.后台给你返回一个很多层叠的数据,你会怎么设计一个数据结构(类似{name:"xx",{id:"xx",{sex:"xx"}}}json格式转对象这种)

10.js内存泄漏

11.跨域(iframe缺点)

12.有使用过webpack吗?

13.你们团队合作流程是什么?多少人?

14工作室使用的技术栈
15.js数据类型分类
16.深拷贝和浅拷贝的区别

百度二面

1.获取当前时间,并格式化化为‘yyyy-mm-dd’格式
function getNowFormatDate() {
    var date = new Date();
    var seperator = "-";
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    var currentdate = year + seperator + month + seperator + strDate;
    return currentdate;
}
再补充一个可以传入时间格式的通用格式化时间函数
function formatDate(date, fmt) {
    //获取年份
    // y+ -->y的个数(1个或多个)
    if (/(y+)/.test(fmt)) {
        //                ‘yyyy’,2019+''变成字符串2019,后面取个数  2019/019/19替换前面yyyy
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
    }
    // 获取
    let o = {
        'M+': date.getMonth() + 1,
        'd+': date.getDate(),
        'h+': date.getHours(),
        'm+': date.getMinutes(),
        's+': date.getSeconds()
    };
    for (let k in o) {
        if (new RegExp(`(${k})`).test(fmt)) {
            let str = o[k] + '';
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
        }
    }
    return fmt;
};

// 比如传进来是4m,返回04m
function padLeftZero(str) {
    return ('00' + str).substr(str.length);
};

var date = new Date();
console.log(formatDate(date,"yyyy:MM:dd"));
2.[2, 50, 8, 20] 升序排列
let arr =[2, 50, 5, 20];

arr.sort((a,b)=>a-b);
3.获取url里的参数,比如www.baidu.com?a=1&b=2
const parseQueryString = url => {
    var json = {};
    var arr = url.substr(url.indexOf('?') + 1).split('&');
    arr.forEach(item => {
        var tmp = item.split('=');
        json[tmp[0]] = tmp[1];
    });
    return json;
}
let result = parseQueryString("www.baidu.com?a=1&b=2");
console.log(result);
4.'abc123'用正则提炼数字
// 第一种
let string = "abc123ds45";
let reg = /\d+/g;
let result = string.match(reg);
console.log(result);//返回的是数字数组,可以再讲数组转为字符串

// 第二种
let result2 = string.replace(/\D+/g,"");
console.log(result2);
5.写一个方法,获取参数的数据类型
function type(target) {
    var typeStr = typeof (target),
    toStr = Object.prototype.toString,
    objStr = {
        "[object Object]": "_objectObject_",
        "[object Array]": "_arrayObject_",
        "[object Number]": "_numberObject_",
        "[object Boolean]": "_booleanObject_",
        "[object String]": "_stringObject_"
    }
    if (target === null) {
        return null;
    }
    //原始数据类型+function类型
    if (typeStr !== "object") {
        return typeStr;
    } else {
        return objStr[toStr.call(target)];
    }
}

function a() {

}
console.log(type(a));
6.深度clone一个对象

7.状态码

8.箭头函数和普通函数区别

9.平时又遇到什么难点吗

10.解释一下闭包

#百度春招##百度##实习##前端工程师##面经#
全部评论
请问楼主什么时候申请的岗位啊,现在百度前端实习生招聘结束了吗,我好像没看到🤣
点赞 回复
分享
发布于 2020-04-12 15:21
楼主二面结束后,发的结果是啥
点赞 回复
分享
发布于 2020-04-12 16:48
秋招专场
校招火热招聘中
官网直投
我也二面结束,面试已结束,我觉得我凉了,我问的问题和你好像
点赞 回复
分享
发布于 2020-04-12 17:22
同二面结束,二面手撕代码也没写好~ 二面面试官最后就直接说你可以下线了,状态就是今日面试已结束,这是凉了嘛? 感觉一面我回答的还是挺好的😣
点赞 回复
分享
发布于 2020-04-12 18:10
我也觉得咱们一个面试官,特别是二面,我也二面结束就没了…代码犯了低级错误,不过面试体验挺好的
点赞 回复
分享
发布于 2020-04-12 18:54
哇,二面的题目和我的一样,感觉是一个面试官
点赞 回复
分享
发布于 2020-04-12 19:17
我是3点半开始面,到四点20,就一轮也没下一面😳是不是没了啊
点赞 回复
分享
发布于 2020-04-12 19:23
我二面结束完了第三面是HR面。。然后他说两星期给通知。
点赞 回复
分享
发布于 2020-04-12 21:01
楼主,你约的是几点的呀?
点赞 回复
分享
发布于 2020-04-18 15:38
请问楼主还有后续吗!我今天刚刚面完也是类似的二面之后说已结束...他说要综合评估一下 慌
点赞 回复
分享
发布于 2020-04-19 14:00
二面结束,面试官就拜拜了,凉了
点赞 回复
分享
发布于 2020-04-19 18:22
第五个编程,boolean,number,string为啥还要写呢,typeof不就已经知道了吗
点赞 回复
分享
发布于 2020-06-04 00:21

相关推荐

3 48 评论
分享
牛客网
牛客企业服务