当前位置: 首页 > 面试经验 >

百度秋招(提前批)前端一二面面经

优质
小牛编辑
87浏览
2023-03-28

百度秋招(提前批)前端一二面面经

8.16  投简历(定向内推 - 个人云部)

8.17  20:00  收到面试邮件

8.18  17:00  一面(≈40min)

用的是【如流视频面试系统】,只有视频和共享屏幕,没有写代码的地方,手撕是共享屏幕用的自己的IDE

1、自我介绍
2、做过的项目中印象最深的最有收获的是哪个
3、说一下常用的git操作
克隆代码:git clone 地址
提交代码:
git add . (或者git status查看修改 git add 某条修改)
git commit -m '提交内容‘
git pull
git push
合并代码(以合并master到自己分支为例):
git checkout master
git pull
git checkout 自己的分支
git merge master(可能需要解决冲突)
git push
回退版本:
git log
git reset 目标版本
git push -f
(就回答了上面这些,具体可参考我的文章:git常用操作)
4、div子元素在父元素中居中
1、父元素
display:flex;
justify-content:center;
align-item:center;
2、父元素 position:relative;
子元素
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
/*或者已知子元素宽高的话,*/
margin-top:-高度一半px;
margin-left:-宽度一半px;
3、父元素 position:relative;
子元素
position:absolute;
top:0;
bottom:0;
left:0; 
right:0;
margin:auto;
5、flex有哪些属性?
容器属性:
flex-direction 主轴方向    flex-wrap 如何换行
flex-flow: flex-direction flex-wrap 简写形式
justify-content 主轴对齐方式
align-item 交叉轴对齐方式
align-content 多轴对齐方式
项目属性:
flex-grow 项目放大比例(默认0)
flex-shrink 项目缩小比例(默认1)
flex-basis 占据主轴空间(默认auto)
flex: flex-grow flex-shrink flex-basis 简写形式
默认 flex: 0 1 auto
flex:auto (1 1 auto)
flex:none (0 0 auto)
flex:initial(0 1 auto)
6、有一个div高度是100px,子div高度50px,margin-top:50px,两个div呈现什么样?
子元素在父元素的上方位置,父元素会被挤到下面,因为高度塌陷
7、js数据类型
共八种
基本数据类型:null undefined string number boolean bigint symbol
引用数据类型:object
8、基本数据类型和引用数据类型的区别
基本数据类型放在栈里,引用数据类型放在堆里,栈中存放的是指针,指向存储对象的内存地址
基本数据类型可以直接拷贝,引用数据类型浅拷贝只会拷贝指针,深拷贝才拷贝整个对象
9、常用的深拷贝方法
1、JSON.parse(JSON.stringify(obj))
2、手写,for in 遍历对象,逐个拷贝值
3、lodash库 lodash.cloneDeep()
10、for of 和 for in 的区别
for of 遍历的是值,for in 遍历的是key
11、for of 可以遍历对象吗?
不能,for of 适用于遍历数组/字符串/map/set等拥有迭代器对象的集合
12、判断一个对象是不是数组的方法
1、Array.isArray(arr)
2、arr instanceof Array
3、Object.prototype.toString.call(arr)
13、instanceof 原理
口述了一下 instanceof 实现
function myInstanceof(left, right) {
  let proto = Object.getPro
 类似资料: