应聘前端开发的一次笔试题目(某电信子公司)

js部分

 

  1. localStorage, sessionStorage和cookie的区别
  2. 下面代码运行后输出结果(javascript事件循环机制)
     1 //请写出输出内容
     2 async function async1() {
     3     console.log(‘async1 start‘);
     4     await async2();
     5     console.log(‘async1 end‘);
     6 }
     7 async function async2() {
     8     console.log(‘async2‘);
     9 }
    10 
    11 console.log(‘script start‘);
    12 
    13 setTimeout(function() {
    14     console.log(‘setTimeout‘);
    15 }, 0)
    16 
    17 async1();
    18 
    19 new Promise(function(resolve) {
    20     console.log(‘promise1‘);
    21     resolve();
    22 }).then(function() {
    23     console.log(‘promise2‘);
    24 });
    25 console.log(‘script end‘);

     

  3. ES6作用域及let和var的区别
  4. 下面代码输出结果(闭包)
     1 function fun(n,o) {
     2   console.log(o)
     3   return {
     4     fun:function(m){
     5       return fun(m,n);
     6     }
     7   };
     8 }
     9 var a = fun(0);  
    10 a.fun(1);  a.fun(2);
    11 a.fun(3);
    12 var b = fun(0).fun(1).fun(2).fun(3);
    13 var c = fun(0).fun(1);
    14 c.fun(2);  c.fun(3);
    15 //问:三行a,b,c的输出分别是什么?

     

     

  5. 浅拷贝和深拷贝的区别,使用原生js写出一种深拷贝的方法
  6. 6类型识别的方法
  7. this的理解
     1 var length = 10;
     2 function fn() {
     3  console.log(this.length);
     4 }
     5 
     6 const  obj = {
     7     length: 5,
     8     method: function(fn) {
     9         fn();
    10         arguments[0]();
    11     }
    12 };
    13 
    14 obj.method(fn, 1);

     

  8. bind, call, apply的区别
  9. 谈性能优化问题

Reference:

  1. Promise解释:https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/7
  2. 闭包的理解:https://juejin.im/
  3. this的理解:https://juejin.im/post/5a0d9ff4f265da432e5b91da
  4. JavaScript 的 this 原理:http://www.ruanyifeng.com/blog/2018/06/javascript-this.html
  5. 性能优化问题:https://juejin.im/post/5c46cbaee51d453f45612a2c

应聘前端开发的一次笔试题目(某电信子公司)

上一篇:Android获取Java类名/文件名/方法名/行号


下一篇:2、Automapper安装及配置