一些前端实习面试问题【不断更新】

都是这几天前端面试里比较高频的问题

首先会问项目难点,建议自己组织好语言,重点是要跟面试官讲清解决思路,是否解决不重要

问题一:

说一下微信小程序的生命周期
微信小程序传参可以用哪些方法?
微信小程序和web页面有什么不同?

问题二:

js数组遍历的方法有哪些?
for each和map有什么区别?
for of和for in有什么区别?
如何实现数组(合并)去重?

问题三:

React的生命周期?性能优化在哪个钩子函数?props和state有什么区别?

问题四:

对作用域、闭包、原型链的理解
js里,对象的继承是怎么实现的?

问题五:

用过Git吗?知道一些常用命令吗?

问题六:

怎么性能优化?有哪些方法?

问题七:

什么是跨域?说一下解决办法

问题八:

怎么实现元素的垂直居中?各个方法的兼容性如何?

问题九:

知道事件冒泡吗?怎么阻止冒泡?事件代理呢?

问题十:

事件循环机制,宏任务,微任务

问题十一:

请用 HTML+CSS 实现一个定宽定高元素在容器中的水平和垂直居中。

<div class="container">
    <div class="item"></div>
</div>
.container {
    display:flex;
}
.item {
    margin:auto;
}

问题十二:

分隔数字,每隔三位加一个逗号
function paddingNum(number){
return number.toLocaleString()
}

console.log(paddingNum(1236699.12)) //123,669,9.12

统计数组中字符串出现频次,两次以上的为true,否则为false

function duplicatedWord(chars){
  map a = new map()
  for(let i = 0; i < chars.length; i++){
    if(a.has(chars[i])){
        a.set(chars[i],'true')
          continue
    }
    else{
        a.set(char[i],'false')
    }
  }
  return map
}

问题十三:
JavaScript 严格模式下有哪些不同?
严格模式指的是js引擎以严格模式去执行,我们只要在代码前或者函数前添加“use strict”就可以开启严格模式了。在严格模式下对js代码的执行添加了一些限制,主要是为了保证代码在安全环境中执行,减少不必要的错误,为了消除js中的一些不严谨、不合理、不安全的地方,它代表了js一种更加合理、更加安全、更加规范的一个发展方向。
在严格模式下,在全局执行上下文的this和全局执行上下文的函数内this不再指向windon对象;变量必须先声明再使用,不存在变量提升;var声明的变量不允许重复声明同一个变量;

问题十四:
settimeout(foo,0)可等价替换为foo()吗?
不可以。setTimeout(foo, 0)的机制是把foo在0秒内推到浏览器的任务队列里,只有执行栈空了以后,任务队列里的任务才有机会被推到执行栈里执行。foo()是立即执行。
settimeout(0)的作用:同步转异步,把优先级不高的事件往后挪。

问题十五:

  class A { }
  class B extends A { }
  const a = new A()
  const b = new B()
  a.proto //A.prototype
  b._proto_ //B.prototype
  B._proto_ //A
  B.prototype._proto_ //A.prototype
  b._proto_._proto_ //A.prototype
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值