那是我夕阳下的奔跑(一)

栏目: JavaScript · 发布时间: 6年前

内容简介:1、用promise,async/awit实现图片懒加载2、实现一个函数使:3、一个素组的范围[K, N-2 + K ],现在出现了两个重复的,找出重复项

笔试题

1、用promise,async/awit实现图片懒加载

loadImg(src).then();
loadImg([src1,src2]).then();

2、实现一个函数使:

a(1,2)(3)(5); // 得到11
a(1)(3,4)(8)(3,4); // 得到参数和
/**
 * 这题考察的是函数的柯里化
 * /

3、一个素组的范围[K, N-2 + K ],现在出现了两个重复的,找出重复项

/**
 * 这个就是纯粹的算法,我用了array的方法(肯定不是出题者的本意)-_-...平时确实没有练这块
 * /

4、依次写出打印值

(function () {
  new Promise((resolve, reject) => {
    console.log('promise1')
    resolve()
  }).then(resolve => {
    console.log(2)
    new Promise(resolve => {
      console.log(4)
      resolve()
    }).then(resove => {
      console.log(5)
    })
  }).then(resolve => {
    console.log(3)
    resolve()
  })
})()
/**
 * 我的答案是1.2.3.4.5的顺序,这题考察了event loop,微任务里面的微任务执行时机问题
 * /

5、写出结果

var a = 'hei hei'
(function() {
  if (typeof a === 'undefind') {
    var a = 'bigo'
    console.log(a)
  } else {
    console.log(a)
  }
})()
/**
 * 这题考察了执行上下文的问题,我的答案是'bigo'
 * /

6、将如下字符串转为json对象

let str = '{name: "zhang";"tel": 123456789}'

/**
 * 这个写我写了个正则,将(name):(zhang)这种东西搂出来,然后用replace($, $1, $2)遍历生成一个json
 * /

7、用正则验证一个图片地址

let src = 'https://cdn.test.iamge.com/image.png'
/**
 * src具体啥样的忘记了,反正就是要考虑协议(http、https),域名(www.xxx.com),图片后缀(jpg、png),写的时候感觉时间不多了,域名里的点没怎么考虑,好像直接用(*)梭哈了>_<
 * /

8、写出打印值

window.a = 'a';
b = 'b';
delete window.a
delete b
console.log(a, b)
/**
 * 我当时写了两个undefined....a肯定undefined了,b是不是后面验证下
 * /

9、一个关于Symbal的问题,具体忘记了,大概就是判断类型,搞清楚这两点就行了

typeof Symbal // function
typeof Symbal('a') // symbal
/**
 * 这里再跟面试官聊的时候,我记得基本数据类型里是没有'function'这货的,结果他打开chrome,确确实实输出了'function'.....
 * /

10、加一行代码时输出预期结果

var a = 'a', b = 'b';
// 写下你的代码
console.log(a.name, b.name) // a, b

笔试题就记得这些了

面试题

输入url到页面显示的过程

  • dns解析,拓展了一下它的应用dns负载均衡(cdn)
  • 根据tcp/ip/以太网协议,包是如何传到目标计算机(路由、广播、MAC地址),顺便说了下最近做h5支付的时候,后台代码和我的代码都在局域网内,结果后台拿的是内网ip地址而微信服务器拿的外网地址的原因
  • tcp连接过程的中的三次握手、慢开始、拥塞避免,一个应用开一个端口,保证包传输正确,拓展:http1.1(目前基本用的这个)最多建立6个tcp连接,管道机制(a、b、c三个请求依此发送,tcp会依此返回,不管哪个结果服务器先准备好),打开淘宝,我们可以看到来自不同域名的资源,就是优化这个tcp连接上限的。http2.2的多共通信,请求不必按顺序返回,准备一点,返回一点。寥寥无期
  • 解析html,生成dom数,如果遇到script会阻塞dom tree的生成,所以我们一般吧scrip放在最后,link标签加载完生成cssom数,渲染树,根据盒模型计算dom在屏幕中的位置,渲染上去
  • js的执行,说了一下执行上下文,event loop,js获取style执行队列清空,立刻重绘,等等

大概就是分成这些点在说,但是说的时候感觉自己表述的很乱,漏了很多

vue

  • v-if和v-show什么区别,vdom里面的表现形式如何
  • v-for里面的key的作用,vdom里面的表现形式使怎么样的,优化的过程是怎么样的
  • compute、watch、和method的区别
  • vue模板里面({{}})写全局变量会怎么样,写函数行不行,new语句行不行,templete里面的作用域是怎么样的
  • vue的父子组件传递数据的方式
  • vue的原理

postcss了解吗

写过一个postcss插件

babel这块原理

写过一个babel插件demo

http缓存说一下

  • 强缓存
  • 协商缓存
  • etag怎么生存成(大小文件)

从命令行输入npm run dev后,发生了什么?

首先读取webpack.config文件,找到script标签里的dev命令指向的文件,执行这个文件,....,webpack的enter文件入口文件,解析依赖关系...

理解很浅显,什么代码分割、插件、去重、压缩这些都没有说,就晓得个loader,babel倒是哔哩哔哩的说了一通+_+

webpack插件机制

es6里面的array、string方法说一下

就说了几个,array.from等等,没咋记

node里面两个文件里面互相引用会怎么样

我说在node这块对他的理解仅限于把它当作一个开发环境,然后就是使用koa写写接口掉下数据库,面试官就换了种方式问,两个文件里互相require会怎么样(大概是这个意思吧)?

es6的import是编译时加载,require时运行时加载,值就是个引用指针,import会转成require(webpack),所以是互相引用的关系,我看vue源码里面一堆相互引用,也没啥毛病,就说应该没问题吧。。。。

vuex原理是怎样的,让你实现会怎么做

vue-router的原理怎样的,hash模式和histroy模式怎在做

react

  • react和vue对比一下
  • react中props和state有什么区别,他们的更改触发的render函数的范围是怎么样的
  • 说一下react的生命周期,,凉凉,瞬间忘光光,只说了几个

Object.defineProperty和proxy的区别

目前有印象的就这些了


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Natural Language Processing with Python

Natural Language Processing with Python

Steven Bird、Ewan Klein、Edward Loper / O'Reilly Media / 2009-7-10 / USD 44.99

This book offers a highly accessible introduction to Natural Language Processing, the field that underpins a variety of language technologies, ranging from predictive text and email filtering to autom......一起来看看 《Natural Language Processing with Python》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具