关于这篇文章的解释这是关于大厂面试题的整理,一些个人认为有价值的题和自己的失误。所以这篇文章适合写试题的朋友。高中的时候记得每科都会出错题本。前几天做题的时候,她就在想什么时候把自己练错的题整理出来。玲珑觉得笔试题不多,但能达到一道题做完就知道的效果。于是就有了这篇文章,而且随着做题的增多,文章会越来越长。也希望和其他小伙伴一起探讨前端知识,共同进步,学习更多。第一套:网易2020校招预审题第五题考点:数据结构中的排序题目分析这道题是关于排序的,所以我们需要知道每一种排序的思路和特点。恰好直接插入排序符合题中要求。这种排序有两层循环。第一层完全遍历数组,控制次数,第二层循环从后往前比较要插入的数字和前面排列的数字。希尔排序考虑了分组。第四题考点:js的隐式类型转换问题:在尝试输出变量时,会进行隐式转换,自动调用变量的tostring和valueof方法。==和===的区别是做题的必要:出现==:我们可以把===看做==的严格模式,==时,如果数据类型相同,那么就是转换为===;如果数据类型不同,会自动进行类型转换,转换成相同类型后再进行比较。出现===:当出现三个等号时,首先判断类型是否相等。如果它们不相等,它将返回false。valueOf方法和toString方法默认调用toString方法。为什么是这样?直接看的一些博客说默认调用toString,并没有说明原理。事实上,情况就是这样。让我们看看下面的例子。虽然colors.valueOf()方法返回的是一个数组,但是在输出alert时隐式调用了toString方法,所以结果是一样的。但如果是数值运算,则先调用valueOf()方法。varcolors=["红","蓝","绿"];//创建一个包含3个字符串的数组alert(colors.toString());//红、蓝、绿alert(colors.valueOf());//红色、蓝色、绿色警报(颜色);//red,blue,green解析第一个输出:arr==="";类型不同,toString和valueOf都不会被调用。为第二个输出返回false:arr=="";类型不同但调用toSrting然后进行比较。最后为第三个输出返回true:arr===1;结果为false,原因同第一个输出第四个输出:arr==1;结果为真,原因同第二次输出,两个方法都没有用到Rewrite,调用了toString方法。第五个输出:arr==2;结果为真,调用valueOf方法。第六个输出:类型是同一个对象,但是值不同,所以返回结果为false没有a,用let和const声明的变量不属于window对象,所以打印undefindfun.aply(obj)改变这个方向,结果是1。值得一提的是第三个。fun.bind(obj1).apply(obj);先通过bind将this绑定到obj1,然后不执行就返回一个新的函数;而这个新函数决定了this和形式参数,不能改变。所以下面的apply等同于失败。结果是2.第四个newfun()检查new的过程1.生成一个新对象2.获取原型的构造函数链接3.绑定this执行构造函数4.返回一个新对象本题中,构造函数没有属性并返回未定义。第十题考点:flex布局计算题目分析:flex-grow:定义item的放大比例flex-shrink:定义item的收缩比例flex-basis:定义item在主轴上占据的空间在分配多余空间之前。我们看到父元素的宽度为200px,左右分配空间前的宽度为100px+50px=150px;所以我们的左右框应该放大50px。按放大比例为3:2;所以左边的框是50px+30px=80px,右边的框是120px。宽度比为2:3。第二套:2020网易校招正式批次,第8题考点:箭头函数没有this题目:分析:箭头函数没有绑定this,箭头函数没有绑定自己的this关键字。如果在箭头函数中使用this,则this将指向定义箭头函数的this。让我们看下面的例子functionfn(){console.log(this);return()=>{console.log(this);}}constobj={name:'zhangshan'};constresFn=fn.call(obj);resFn();constresFn=fn.call(obj);将fn的this绑定到obj;执行resFn()函数执行返回的箭头函数,打印出来的this就是fn的this,也就是obj。那么·回到我们的问题,同样如此,三个时间都指向了共同父亲的this,也就是箭头函数定义位置的this。返回三次的结果是foo。第三套:小米校招前端笔试第1题第5题考点:js中加号的含义题目分析先来回顾一下js中的六种数据类型,undefined,null,string,number,boolean五种基本类型和引用类型对象,除了基本类型都是数组、函数等引用类型。那么加号最终会有两种转换:1.当加号两边都有字符串时,会根据字符串处理拼接成字符串。2.当没有字符串时,会被当作数字处理。所以这个李牧应该算是串连两次了。第12题考点:二叉树遍历题目分析:根据前序遍历和中序遍历的特点,c为根节点,所以BAFE为c的左子树,其余节点为c的右子树。那么我们可以画一个如下图所示的二叉树,然后先遍历左子树,再遍历右子树,最后遍历根节点。结果是bfeahgdc第13题考点:数组二分查找题目分析:待解最后,前端学习是一条漫漫长路,我们要学的不仅是表面的技术,更要深层次的,要明白以下只有这样,我们才能提高竞争力,才能在当今竞争激烈的世界中站稳脚跟。千里之行,始于足下。愿你我互相鼓励。金三银四马上就要来了,给大家送个小福利。下面是我在业余时间整理的一些面试题,包括HTML、CSS、JavaScript、服务器和网络、Vue、浏览器、React等。HTML图片中的title和alt有什么区别?Html5有哪些新特性,去掉了哪些元素?浏览器如何管理和加载Html5的离线存储资源?什么是内联元素?什么是块级元素?什么是空(void)元素?在label上设置canvas的宽高和设置style的宽高有什么区别?浏览器如何管理和加载HTML5离线存储资源?CSSChapterCSS中link和@import的区别:positionabsolute和fixed共同点和区别:BFC清除浮动的几种方式有什么用css3新伪类-伪元素IE盒模型,W3C盒模型显示:inline-block什么时候不显示间隙?内联元素在float:left之后会变成块级元素吗?JavaScript章节中js的各种位置,如clientHeight、scrollHeight、offsetHeight,以及scrollTop、offsetTop、clientTop的区别?js拖拽功能的实现js的异步加载js防抖的方法无法绕过的闭包说说你对scopechainJavaScriptprototype、prototypechain的理解?有什么特点?请解释一下什么是事件委托/eventdelegationJavascript如何实现继承?Vuevue中键值的作用为什么Vue组件中的数据一定要是函数呢?vuex的State特性是什么?介绍一下Vue的响应式系统computed和watch的区别。介绍一下Vue的生命周期。为什么一个组件的数据一定是一个函数。组件如何通信?由于篇幅有限,只能分享部分面试题和更多面试题及答案。可以【点我】阅读下载哦~免费分享给大家,也算是一种感恩的回馈。React引入Redux,主要解决什么问题?数据流是什么样的?如何管理使用相同状态的多个组件?React-Redux与React组件的连接。什么是Redux中间件?它接受几个参数。redux请求中间件是如何处理并发的?React-Router的动态加载模块如何配置?修改为什么要用virtualdom?浏览器跨表通信浏览器架构浏览器下的事件循环(EventLoop)从输入url到显示过程重绘和回流存储WebWorkerV8垃圾回收机制内存泄漏回流(reflow)和repaint(重绘)优化如何减少重绘和回流?一个页面从输入URL到页面加载显示完成的过程中发生了什么?localStorage与sessionStorage与cookie的区别总结更多面试题及答案可以【点我】阅读下载,免费分享给大家~
