您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

我面试了拼多多前台的开发岗,拿到了offer。这些知识点要放出来。 <源码交易平台>

  • 时间:2022-09-01 01:29 编辑: 来源: 阅读:307
  • 扫一扫,手机访问
摘要:我面试了拼多多前台的开发岗,拿到了offer。这些知识点要放出来。 <源码交易平台>
一面:CSS1。箱式模型2。CSS文件开头加*号/上下框重叠的问题(正值/负值怎么样)3。对伪类和伪元素的理解,伪JS4有什么作用。原型链5。传承6。为什么3.tostring()会报错7。如果先用var会怎么样?8.函数表达式和函数公告有什么区别?9.高阶函数理解过吗?10.ES6使用了哪些新属性?11.var和函数声明时不同类的使用?13.重写reduce函数。14.数组重写平面函数。如何拉伸?15.该数组输出重复的元素。16.有几万个汉字输入到数字里。17.承诺的api18。三个承诺完成后如何判断?19.把方法直接写进原型有什么坏处?20.判断是对象上的方法还是原型上的方法?Vue21。亲子组件通信。22.v-if/v-show的差异23。Vue jQuery 24的公告期。jQuery 25.jQuery的api方法已经动画化没有26.jQuery27 .获取某个id下某个类HTTP的所有HTTP请求头28 .请求时如何设置未缓存的编程问题:29。spacify(' Hello World ')/= >;如何转化‘h e l l o w o r l d’,如何实现这个‘hello world’。space();两面:1。做题。2.高度可变的标签,在父元素-3中居中。写一个承诺,那么第二个第二个参数怎么实现。4.reduce方法,参数还可以是什么?5.sort方法,返回类型可以返回布尔值吗?6.原生js添加事件,7。map和foreach的区别,map返回的长度和原数组的长度一样吗?2.实现一个redux3。用ts实现一个redux。我只记得这些......我其实是觉得我在一边的部分回答的不太好。当时感觉天要凉了,平时写文体的时间太少。 运气好的时候通过了面试。感觉双面面试官很专业,基本都是由浅入深的研究知识深度。我觉得答案还可以。由于我属于那种会,我会尽力去深化,暂时不用的时候很少花时间。所以目前我的知识面的广度是非常欠缺的。我在节点、ssr、手机、小程序方面的能力很弱,但是面试的时候如果不熟悉,就要多了解了。 在准备面试之前,我就要求自己尽量不要很快被打倒,于是我就着重复习自己擅长的知识,在网上刷了很多拼多多的面试题,做了整理。现在我将把你称为一种感激和反馈。 JavaScript(因为内容太多,我就重点说一下,有一部分比较简短。如果有兴趣阅读全文,可以【点击我】免费获取。 )JavaScript中的基本类型有哪些?以及各种数据类型是如何存储的?javaScript的数据类型包括原语类型和引用类型(对象类型)。 原始类型包括以下六种类型:stringnumberbooleanullundefined符号引用类型统称为对象类型。如果再细分的话,可以分为以下五种:ObjectArrayDateRegExpFunction1、存储形式栈和堆的数据类型,这是两种基本的数据结构。 堆栈自动在内存中分配内存空间;如果Heap在内存中动态分配内存空间,不会自动释放。 一般我们在项目中手动设置对象类型为null cause,以减少无用的内存消耗。 原始类型是以值的形式存储在堆栈中的数据段。内存空间可以自由分配,可以直接按值访问。 var a = 10var b = a;b = 30console . log(a);// 10值console . log(b);// 30值引用类型存储在堆内存中,每个对象在堆内存中都有一个引用地址,就像每个房间都有房间号一样。 存放在栈中的引用就是这个对象在堆内存中的引用地址,我们称之为“房号”。 可以通过“房号”快速找到堆内存中存储的对象。 var obj 1 = new Object();var obj2 = obj1obj2.name = "知止";console . log(obj 1 . name);//zhihi2,Null面试官:为什么typeof null等于Object?底层原理中不同对象的存储用二进制表示。在javaScript中,如果二进制的前三位都是0,系统将确定它是对象类型。 null的存储二进制是000,也是前三位,所以系统确定null是对象类型。 扩展:这个bug是第一版javaScript遗留下来的。 让我也展开其余的类型标志:000:对象类型。 1:整数,数据是31位有符号整数。 00:双精度类型,数据是双精度数字。 00:字符串,数据是字符串。 10:布尔型,数据为布尔型。 3.typeof和instanceof有什么区别?Type是一元运算符,也返回字符串类型。 一般用来判断变量是否可以为空或者是什么类型。 除了null类型和Object类型无法准确判断外,其他所有数据类型都可能返回正确的类型。 typeof undefined//' undefined ' type of ' 10 '//' String ' type of 10//' Number ' type of false//' Boolean ' type of Symbol()//Symbol ' type of function//' function ' type of null//' Object ' type of[]/' Object ' type of { }/' Object '由于type of返回对象类型的限制,我们可以使用instanceof来确定一个对象是否是另一个对象的实例。 返回值是布尔类型。 var a =[];操作符console.log(数组的一个实例)//trueinstance用于测试一个对象在其原型链中是否可以有构造函数的prototype属性。如果你看不懂原型链,我后面会详细写的。写在这里就可以了。 让我们测量ES6中的类语法。它是什么类型的糖? Class {} console.log(一个instanceof函数)//true注意:原型链中的原型可以随时更改。对象的原型链中可能不存在更改后的值,instanceof返回的值可能返回false。 4.类型转换类型转换通常在面试笔试中出现的比较多,对于考生来说很容易忽略类型转换的少量细节,所以我会尽量做到系统化。 JavaScript是一种弱类型语言,变量不受类型限制,所以我们需要在特定情况下进行类型转换。 类型转换包括显式类型转换和隐式类型转换。 每次转换分为原始类型转换和对象类型转换。 显式类型转换就是我们所说的强制类型转换 其余数据类型转换为字符串类型!对于基本类型,在转换字符串类型时,默认情况下会调用toString()方法。 字符串(123);//“123”字符串(真);//“真”字符串(空);//“null”字符串(未定义);//“未定义”字符串([1,2,3])//“1,2,3”字符串({ });///[Object Object]"其他数据类型转换为布尔类型!除了几个特殊值''、undefined、NAN、null、false和0被转换为Boolean和false之外,所有其他类型的值都被转换为true。 boolean(')//false boolean(undefined)//false boolean(null)//false boolean(NaN)//false boolean(false)//false boolean({ })//true boolean([])//true to number type!数量(10);// 10个数(' 10 ');// 10个数(空);// 0数字(“”);// 0数(真);// 1号(假);// 0数字([]);// 0数([1,2]);//NaNNumber(' 10a ');// NaNNumber(未定义);//将对象类型转换为原始类型!当对象转换为原始类型时,它将调用内置的valueOf()和toString()方法,这些方法可以重写。 有两种转换类型:转换为字符串类型或其他原始类型。 如果是原类型,就不需要改造了。 如果字符串类型改变,调用内置函数中的toString()方法。 如果是其他基本类型,调用内置函数中的valueOf()方法。 如果返回的类型不是原始类型,将继续调用toString()方法。 如果没有返回原始类型,将会报告一个错误。 5.四则运算hermit类型转换是不需要考虑的强制类型转换。javaScript自动将类型转换成需要的类型,所以称之为隐式类型转换。 加法运算符在运行时决定是执行加法还是连接。 不同的操作导致不同的语法行为,这就是所谓的“超载”。 如果双方都不是字符串,则转换成数字或字符串。 Boolean+Boolean将被转换为数字加法。 布尔+数字布尔类型转换为数字加法。 Object+Number对象类型调用valueOf,如果不是String、Boolean或Number类型,继续调用toString()将其转换为字符串。 true+true//21+true//2[1]+3//' 13 '字符串与字符串,以及字符串与非字符串的相加,都是连通的。 1+'b'/'1b' false+'b'/'falseb '其他算术运算符(如加减乘除)不会重载。 他们的规则是:所有的运算符都转换成数值,然后进行相应的数学运算。 1 * '2' // 21 * [] // 06、逻辑运算符逻辑运算符包括两种情况,即条件判断和赋值运算。 条件与环境。:所有条件为真,整体为真。 |||:只有一个条件为真,整体为真。 真实& amp& amptrue//true true & amp;& amp真//假真||真//真||假//真赋值操作A & amp首先B看A的真假,A假,返回A的值,A真,返回B的值。 (不管b是什么)console . log(0 & amp;1)//0 console . log(1 & amp;& amp2) // 2A || B首先检查A是真是假。如果A为真,它将返回A的值,如果A为假,它将返回B的值(不管B是什么)。console . log(0 | | 1)//1 console . log(1 | | 2)//17。比较运算符比较运算符在逻辑语句中用于确定变量或值是否相等。 = =和= = = =的区别?对于= = =,严格相等,比较两个运算符的类型和值。 如果X和Y的类型不同,则返回false如果X和Y的类型相同,根据下表进一步判断。对于= =,并不严格相等。首先判断两个运算符的类型是否相等。如果类型不同,先进行类型转换,再判断值是否相等。 如果X和Y的类型相同,返回X == Y的比较结果;如果X和Y的类型不同,根据下表进一步判断;这个新闭包是面试中的重点,但它让很多初学者感到困惑,所以我将从最基本的范围开始,请绕过它。 范围是什么?什么是范围链?范围被定义为变量和函数的可用范围。 只看定义,比较笼统。举个例子:函数fn1(){设a = 1;}函数fn2() {设b = 2;}宣告两个函数分别创建两个私有作用域(可以理解为两个封闭的容器)。fn2不能直接访问私有作用域fn1的变量A。 同样,在fn1中,fn2中的变量B也不能被访问。 函数是一个作用域。 每个函数都有一个作用域。在搜索变量或函数时,从局部范围依次搜索到全局范围。这些作用域的集合称为作用域链。 如果不是很了解,我再举个例子:设a = 1函数fn(){函数fn1(){函数fn2(){设c = 3;console . log(a);}//执行fn2 fn2();}//执行fn1 fn1();}//执行函数fn();尽管嵌套有点复杂,但正如我们前面所说的,函数是一个私有作用域。根据定义,在fn2范围内打印A,先在自己的范围内搜索,如果没有,则搜索到上级范围,直到找到全局范围,a = 1,找到打印的值。 整个搜索过程基于范围链搜索。 什么是终结?封闭的作用?闭包的应用?很多考生喜欢这样回答,“一个函数中设置一个函数”,但是面试官更喜欢下面的回答,因为他可以继续给你挖坑。 该函数执行后形成一个私有作用域,保护内部的私有变量免受外部干扰。除了保护私有变量之外,还可以保存少量内容。这种模式被称为关闭。 封闭有两个作用:保护和保存。 为了保护应用团队的开发,每个开发人员都把自己的代码放在私有范围内,防止他们之间的变量命名冲突;通过return或window的方式将需要提供给他人的方法暴露给全局情况. xxx jQuery的源代码中也使用了这种保护机制。 封装私有变量 保存应用标签页关闭的处理方案的依据 循环绑定事件导致的索引有什么问题?这种问题怎么处理?//事件绑定导致的索引问题varbtnbox = document . getelementbyid(' btnbox '),inputs = btnbox . getelementsbytagname(' input ')varlen = inputs . length;for(var I = 0;我& lt1en++) {inputs [i]。onclick = function () {alert (i)}}整理好的知识点如下,除了上面我已经详细描述过的。如果全部陈述,文章篇幅就太长了。有兴趣的可以【点击我】收藏。 原型和原型链继承1。经典传承2。组合遗传3。原型继承4。寄生继承垃圾收集机制1。两种垃圾收集策略2。标签清理方法3。参考计数方法4。如何管理内存?深层复制和浅层复制异步编程1。执行上下文2。执行堆栈3。宏任务4。微任务5。运行机制ES6变量提升var,let,constmap,filter,reduce 1 . map 2 . filter 3 . reduce proxy文字定义类定义2 . object . defined property()3 . proxy代理1 .ES6/ 7异步编程。发电机发电机2。Promise3.async和await模块化模式1:函数模式2:立即执行函数模式3: CommonJS模式4: AMD和CMD模式5: ES6 Moudle总结如果你想获得所有的面试知识点,可以【点击我】


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【域名/主机/服务器|】qq邮箱提醒在哪里打开(2024-06-04 18:58)
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部