百度日常一面

除项目外的提问:

介绍一下ES6+在项目中的一些使用:Promise Async Await Map对象,数组方法

介绍一下原型链:是JS提供的一套基于原型的继承机制,在继承的过程中如果在某个对象找不到其方法,会沿着原型链往上找方法,如果一直找到null都没有找到的话,就会报错说明not a function。每个对象都有其原型方法,比如Array Function Object等,在原型方法上的方法可以被所有对象所使用,原型链的尽头是null。

题目:

function A(){    Function.prototype.a = function(){        console.log("a");    }    Object.prototype.b = function(){        console.log("b");    }}​var a = new A();a.a();a.b();

new出来的是个对象,所以可以访问b方法不能访问a方法,会报错 a is not a function。

讲讲Promise:Promise是为了解决之前的回调地狱的情况出现的,使用.then .catch .finally等方法解决了回调地狱,变成一步一步的解决,但是其仍旧有自己的问题,当Promise中间连续调用.then .catch的方法的时候,可读性会下降,可维护性也会下降,比如今天一串的then方法中间某一步出问题了很难调试,所以有了Async Await

讲讲Async Await:Async Await实际上是promise的一个语法糖,并不是底层的重构,但是它允许我们像同步一样书写异步代码,这里就首先增强了可读性,第二增加了可调试性。

题目:

console.log(5);
try{    new Promise((resolve,reject)=>{        console.log(1);        
reject("error");    }).catch((err)=>{        console.log(2);    })}
catch(e){    console.log(3);}console.log(6);

答案:5126

为什么没有3?因为在Promise中的错误不可以被trycatch捕获。

PromiseAll是串行还是并行?如果是并行如何保证结果数组和传入数组的顺序一致性?是并行的,在用for迭代传入数组的时候给它们一个idx在回调的时候根据这个idx把它们放回去。

实现一个容器左边是图片右边是名字和定价然后垂直对齐

    .box{        display: flex;    }    
	.img{        width: 100px;        background-color: red;    }    
	.text{        flex:1;        flex-direction: column;        justify-content: center;    }

Css实现垂直居中:

绝对定位,flex,grid,边框计算,table

全部评论

相关推荐

在面试和工作中,有效地表达自己的硬实力(即专业技能和知识)是至关重要的。这不仅能帮助你展示自己的能力,还能让面试官或同事更好地理解你的价值。下面是一些具体的方法和技巧,帮助你将硬实力更好地传达:1. 理清自己的硬实力首先,你需要理清自己的硬实力,明确你掌握的技能和知识,包括:编程语言:如 JavaScript、HTML、CSS、Python 等。框架与库:如 React、Vue、Angular、Node.js、Bootstrap 等。工具与技术:如 Git、Webpack、Docker、Jest 等。项目经验:具体参与的项目及角色。相关证书:如相关的专业认证、课程证书等。2. 使用量化数据通过量化来表达你的成果会让你的能力显得更加具体和有说服力。具体数字:如“通过技术优化,将页面加载时间减少了30%”或“在项目中提高了代码复用率,减少了50%的开发时间”。项目规模:描述参与项目的规模、影响用户数量等,例如“参与了一个月活跃用户超过10万的电商平台开发”。3. 采用 STAR 方法在回答相关问题时,采用 STAR 方法(Situation, Task, Action, Result)能够有效组织你的表达:Situation(情境):描述面临的具体情境。Task(任务):你在这个情境中需要完成的任务。Action(行动):你采取的具体行动和使用的技术。Result(结果):最后的结果和影响,可以用量化的结果来描述。4. 结合具体案例举例说明自己的硬实力能够让听众更清楚你的能力与经验:成功案例:分享一个你参与的项目,描述你使用的技术、解决的问题和取得的成果。团队协作:强调你在团队中的角色,如何应用你的技能提升团队协作效果。5. 强调学习与提升表明你对技能提升的重视也是一种硬实力的体现:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=d3520e4b0ad640008bc5305fd6838a1c
点赞 评论 收藏
分享
评论
3
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务