阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      美团 前端工程师面试题

      美团 前端工程师面试题

      问答题

      class A {
        String i = "op";
        void func(String s) {
            s = ""+9;
        }
        static void test() {
            A a = new A();
            a.func(a.i);
        }
      }
      

      问:

      1. 变量i,s,a在堆还是在栈中?
      2. 第8行执行完后a.i的值是什么?

      答案

      1. i,s,a都在栈中,new出来的对象A在堆上。
      2. 执行完后a.i的值还是字符串op。

      考察点:堆内存、栈内存、参数传递

      请按顺序写出打印结果,并说明原因。

      var name = 'global';
      var obj = {
          name: 'local',
          foo: function(){
              this.name = 'foo';
          }.bind(window)
      };
      var bar = new obj.foo();
      setTimeout(function() {
          console.log(window.name);
      }, 0);
      console.log(bar.name);
        
      var bar3 = bar2 = bar;
      bar2.name = 'foo2';
      console.log(bar3.name);
      

      请写出如下代码运行后产生的结果,并给出解释,说明结果是如何得出的。

      setTimeout(() => console.log('a'));
      Promise.resolve().then(
         () => console.log('b’);
       ).then(
         () => Promise.resolve('c').then(
           (data) => {
             setTimeout(() => console.log('d'));
             console.log('f');
             return data;
           }
         )
       ).then(data => console.log(data));
      

      请写出下面ES6代码编译后所生成的ES5代码;

      class Person {
           constructor (name) {
                this.name = name;
           }
           greet () {
                console.log(`Hi, my name is ${this.name}`);
           }
           greetDelay (time) {
                setTimeout(() => {
                     console.log(`Hi, my name is ${this.name}`);
                }, time);
           }
      }
      

      形如1, 1, 2, 3, 5, 8, 13, 21, 34, 55的数列,后一位是前面两位相加(斐波那契数列),写出函数要求找到第 N 位是多少,如:fib(3) => 3 , fib(5) => 8, 要求时间复杂度为O(n)。

      近期某商场由于周年庆,开启了“0元购”活动。活动中,消费者可以通过组合手中的代金券,实现0元购买指定商品。

      聪明的小团想要用算法来帮助他快速计算:对于指定价格的商品,使用代金券凑出其价格即可,但所使用的代金券总面额不可超过商品价格。由于代金券数量有限,使用较少的代金券张数则可以实现价值最大化,即最佳优惠。

      假设现有100元的商品,而代金券有50元、30元、20元、5元四种,则最佳优惠是两张50元面额的代金券;而如果现有65元的商品,则最佳优惠是两张30元代金券以及一张5元代金券。

      请你帮助小团使用一段代码来实现代金券计算。

      给定一个包含非负整数的 M x N 迷宫,请找出一条从左上角到右下角的路径,使得路径上的数字总和最小。每次只能向下或者向右移动一步。

      小团在一次星际旅行中,耗尽了飞船的能量,迷失在了空间魔方中,空间魔方中有NNN个能量粒子。美团云AI迅速帮小团分析出了空间魔方的能量分布图。

      已知小团的飞船被困在能量值最高的点,能量值最高点有且只有一个。飞船每到达一个能量粒子就会吸收对应粒子的能量,该粒子会坍缩成小黑洞,飞船不可到达。小团驾驶的飞船只能从高能粒子驶向低能粒子,且每次只能从6个方向中选择一个前进。(±x,±y,±z)。

      请帮助帮小团吸收最高的能量值。

      参考

      目录
      目录