百度面试题

分享一次百度面试,局部标题会带有面试答案,百度二面三面都有手写代码的环节,关于入手才能弱的小伙伴来说会有些挺费劲。
 
一面
1. 为什么要用flex规划,align-items和justify-content的区别
 
传统规划基于盒模型,十分依赖 display属性 、position属性 、float属性。而flex规划更灵敏,可以简便、完好、呼应式地完成各种页面规划,比方程度垂直居中。
 
align-items:定义在侧轴(纵轴)方向上的对齐方式;
 
justify-content:定义在主轴(横轴)方向上的对齐方式。
 
2. webpack是怎样打包的,babel又是什么?
 
把项目当做一个全体,经过一个给定的主文件(如:index.js),Webpack将从这个文件开端找到项目的一切依赖文件,运用loaders处置它们,最初打包为一个(或多个)浏览器可辨认的JavaScript文件。
 
babel将es6、es7、es8等语法转换成浏览器可辨认的es5或es3语法。
 
3. saas和less不同于普通css的中央
 
定义变量,可以把重复运用的css属性值定义成变量,然后经过变量名来援用它们,而无需反复书写这一属性值;
嵌套写法,父子关系了如指掌;
运用运算符,可以停止款式的计算;
内置一些颜色处理函数用来对颜色值停止处置,例如加亮、变暗、颜色梯度等;
承继:为多个元素定义相反款式的时分,我们可以思索运用承继的做法;
Mixins (混入):有点像是函数或许是宏,当某段 CSS常常需求在多个元素中运用时,可以为这些共用的 CSS 定义一个Mixin,然后只需求在需求援用这些 CSS 中央调用该 Mixin 即可。
4. es 6模块和其他模块不同的中央
 
比照了一下es6模块和CommonJS模块:
 
 
 
5. 有没有用过es6的一些异步处理函数
 
Promise,generator,async await
 
6. redux怎样处置异步操作
 
可以引入Redux-thunk或许redux-promise这种中间件,可以延迟事情的派发。
 
其中的原理:是因为他们用了applymiddleware()包装了store的dispatch办法,拥有可以处置异步的才能。
 
7. 为什么reducer要是个纯函数,纯函数是什么?
 
纯函数:关于相反的输出,永远会失掉相反的输入,而且没有任何可察看的反作用,也不依赖外部环境的形态。
 
缘由:Redux只经过比拟新旧两个对象的存储地位来比拟新旧两个对象能否相反(浅比拟)。假如你在reducer外部直接修正旧的state对象的属性值,那么新的state和旧的state将都指向同一个对象。因而Redux以为没有任何改动,前往的state将为旧的state。两个state相反的话,页面就不会重新渲染了。
 
由于比拟两个Javascript对象一切的属性能否相反的的独一办法是对它们停止深比拟。但是深比拟在真实的使用当中代价昂贵,由于通常js的对象都很大,同时需求比拟的次数很多。因而一个无效的处理办法是作出一个规则:无论何时发生变化时,开发者都要创立一个新的对象,然后将新对象传递出去。同时,当没有任何变化发作时,开发者发送回旧的对象。也就是说,新的对象代表新的state。
 
8. 高阶函数是什么,怎样去写一个高阶函数
 
高阶函数:参数值为函数或许返回值为函数。例如map,reduce,filter,sort办法就是高阶函数。
 
编写高阶函数,就是让函数的参数可以接纳别的函数。
 
9. vue跟react的区别是什么
 
10. nodejs处置了什么成绩
 
可以处置高并发的I/O,也能与websocket配合,开发长衔接的实时交互应用程序。
 
11. 呼应式规划,怎样做挪动端适配
 
运用媒体查询可以完成呼应式规划。
 
挪动端适配方案:
 
 
width=device-width: 让以后viewport宽度等于设备的宽度
user-scalable=no: 制止用户缩放
initial-scale=1.0: 设置页面的初始缩放值为不缩放
maximum-scale=1.0: 允许用户的最大缩放值为1.0
minimum-scale=1.0: 允许用户的最小缩放值为1.0
(2)媒体查询(呼应式)
 
(3)静态 rem 方案
 
二面
1. 怎样做一个实时的聊天零碎
 
运用WebSocket和nodejs,《nodejs实战》这本书详细引见了这个项目。
 
2. 当音讯有延迟的时分,怎样保证音讯的正确顺序
 
每个音讯在被创立时,都将被赋予一个全局独一的、单调递增的、延续的序列号(SerialNumber,SN)。可以经过一个全局计数器来完成这一点。经过比拟两个音讯的SN,确定其先后顺序。
 
3. 怎样做一个登陆窗口,input有哪些兼容性
 
运用form表单。
 
4. input按钮如何校验
 
运用正则表达式。
 
5. 如何完成程度垂直居中,relative、absolute、fixed
 
6. 写一个函数,1s之后顺次输入1,2,3,4,5
 
直接运用了let和定时器。
 
for(let i = 1 ; i < 6; i++){
setTimeout(() => {
conosle.log(i)
}, 1000)
}
7. 事件队列(宏义务、微义务)
 
8. 如何每隔三个数加一个逗号,还要思索小数点的状况
 
function transform(number){
var num = number.toString()
var numArr = num.split('.')
var [num, dotNum] = numArr
 
 
var operateNum = num.split('').reverse()
var result = [], len = operateNum.length
for(var i = 0; i< len; i++){
result.push(operateNum[i])
if(((i+1) % 3 === 0) && (i !== len-1)){
result.push(',')
}
}
 
if(dotNum){
result.reverse().push('.', ...dotNum)
return result.join('')
}else{
return result.reverse().join('')
}
 
}
9. webpack有配置过吗?原理晓得吗
 
10. 父子组件如何通讯,子组件怎样跟父组件通讯?
 
父组件把state作为props传递给子组件停止通讯。
 
父组件写好state和处置该state的函数,同时将函数名经过props属性值的方式传入子组件,子组件调用父组件的函数,同时惹起state变化。
 
11. 复杂说一下pwa
 
三面
1. 手写indexOf
 
function indexOf(str, val){
var strLen = str.length, valLen = val.length
for(var i = 0; i < strLen; i++){
var matchLen = i + valLen
var matchStr = str.slice(i, matchLen)
if(matchLen > strLen){
return -1
}
if(matchStr === val){
return i
}
}
return -1
}
2. 完成 JS 的承继
 
function A () {
this.name = 'a';
}
 
A.prototype.getName = function () {
return this.name;
}
 
function B () {
}
 
// B 如何承继 A
3. 从url输出到页面显示会有哪些步骤
(1)DNS服务器解析域名,找到对应服务器的IP地址;
 
(2)和服务器树立TCP三次握手衔接;
 
(3)发送HTTP恳求,服务器会依据HTTP恳求到数据服务器取出相应的资源,并前往给浏览器;
 
(4)浏览器处置呼应
 
加载:浏览器对一个html页面的加载顺序是从上而下的。
当加载到内部css文件、图片等资源,浏览器会再发起一次http恳求,来获取内部资源。
当加载到js文件,html文档会挂起渲染(加载解析渲染同步)的线程,等候js文件加载、解析终了才可以恢复html文档的渲染线程。
解析:解析DOM树和CSSDOM树。
渲染:构建渲染树,将DOM树停止可视化表示,将页面出现给用户。
4. method有哪些办法,辨别是什么意思?post和put的区别
 
post:上传资源
 
put:修正资源
 
5. https有几次握手
 
6. http2比http1好的中央
 
7. 页面刷新不出来,是有哪些成绩
可以从第三题的每个步骤停止剖析,大约是:
 
域名不存在,或许ip地址错误
网络成绩,不能树立正常的tcp衔接
服务器找不到正确的资源
8. 上一次系统性的学习是什么时分,怎样学习的
 
9. 你觉得项目中最骄傲的是什么
 
10. 上家公司有哪些不好的中央
 
再窒息也要好好答复出来!小编整的一份2022前端面试题精编包括了人事面试题、描绘项目、兼容性、小顺序、开发中遇到的BUG、HTML5\CSS3、JS、HTTP、ES6、VUE、React面试题,想看完整版的2021前端面试题精编的小伙伴点击这就OK了哦。
人事面试题
请你自我介绍一下你本人?
你觉得你特性上最大的优点是什么?
说你最大的缺陷?
你对加班的看法?
你对薪资的要求?
在五年的工夫内,你的职业规划?
你还有什么成绩要问吗?
谈谈你对跳槽的看法?
你关于我们公司理解多少?
最能概括你本人的三个词是什么?
 
 
如何描绘本人做过的项目
开篇
在面试前预备项目描绘,别惧怕,由于面试官什么都不晓得
预备项目的各种细节,一旦被问倒了,就阐明你没做过
不露痕迹地说出面试官爱听的话
一定要自动,面试官没有义务发掘你的亮点
你可以引导,但不能自说自话
 
 
小顺序面试题整理
数据恳求怎样封装
参数传值的办法
进步小顺序的使用速度的办法
小顺序的优点
小顺序的缺陷
简述小顺序原理
怎样处理异步恳求成绩
小顺序和Vue写法的区别
小顺序的双向绑定和vue哪里不一样
生命周期函数
几种跳转,小顺序内的页面跳转
如何自定义组件
 
 
开发中遇到的BUG
vue项目中用v-for 循环本地图片, 图片不显示,解决办法:运用require静态引入图片,
兼并多个对象并去重(es6)
vue计算属性里如何传参:需求是需求把数值转为三位数,相似1需求变为001,10变为010这样。
JS监听同源其他窗口发作的事情,次要是应用 window.addEventListener('s
前端做登录注册时提交按钮成绩在用ajax传数据给后端时,通常给button按钮绑定js事情
ajax传输给nodejs后台数据时的数据类型成绩
用isNaN判别数据能否是非数字值,是则true,不是则false
 
 
HTML5\CSS3面试题整理
Doctype作用? 严厉形式与混杂形式-如何触发这两种形式,区分它们有何意义?
行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
CSS的盒子模型有几种?各有什么特点?
link 和@import 的区别是?
CSS 选择符有哪些?哪些属性可以承继?优先级算法如何计算? CSS3新增伪类有那些?
如何居中div,如何居中一个浮动元素?
浏览器的内核辨别是什么? 常常遇到的浏览器的兼容性有哪些?缘由,处理办法是什么,常用hack的技
css属性那些有继承性?哪些没有?
假如盒子都为浮动,父类会没有高度,如何处理
visibility和display 的隐藏有什么区别?
伪类的写作顺序?
border和outline的区别
 
 
JSvascript面试成绩整理
原型/原型链/构造函数/实例/承继
如何完成 new 运算符
有几种方式可以完成承继
arguments
数据类型判别
作用域链、闭包、作用域
Ajax的原生写法
对象深拷贝、浅拷贝
图片懒加载、预加载
完成页面加载进度条
this 关键字
函数式编程
手动完成 parseInt
 
 
VUE面试成绩整理
什么是MVVM?
mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景合适?
vue的优点是什么?
组件之间的传值?
路由之间跳转
vue.cli中怎样运用自定义的组件?有遇到过哪些成绩吗?
vue如何完成按需加载配合webpack设置
vuex面试相关
v-show和v-if指令的共同点和不同点
如何让CSS只在以后组件中起作用
的作用是什么?
Vue中引入组件的步骤?
 
 
由于篇幅缘由罗列的内容不多,需求完整版2021前端面试题精编的小伙伴们直接点击这支付,祝大家顺风逆水顺财神!
 
小结百度面试感悟
1.逻辑明晰:一定要逻辑明晰,不然即便你晓得这个成绩的答案,面试官也不会称心,假如你逻辑明晰,即便这个答案不会,面试官也会给你加分。
 
2.共同了解: 如今的面试题迥然不同,那么如何表现出你的优势就很重要。结合业务以及你本身的知识储藏来讲。
 
3.深化考虑 : 对每个成绩一定要有深化的考虑,不然就很难进入大公司了,深度上要有一个拔高才干在面试中取得好的成果
 
4.流利表达 : 面试就是一个表达的进程,一些成绩心里明白不行,还要流利的表述出来,基本上假如面试官觉得你表达的很流利,当你讲到一半就不会再让你说下去了,证明曾经经过了

【本文关键词】:百度面试题