小米前端秋招面经-一面凉

1. 做题

  • 实现Promise.all

    Promise.prototype.all = function(promises) {
      let results = [];
      let promiseCount = 0;
      let promisesLength = promises.length;
      return new Promise(function(resolve, reject) {
        for (let val of promises) {
          Promise.resolve(val).then(function(res) {
            promiseCount++;
            // results.push(res);
            results[i] = res;
            // 当所有函数都正确执行了,resolve输出所有返回结果。
            if (promiseCount === promisesLength) {
              return resolve(results);
            }
          }, function(err) {
            return reject(err);
          });
        }
      });
    };

    https://zhuanlan.zhihu.com/p/41502945

  • 实现观察者模式

    // 发布订阅模式
    class EventEmitter {
        constructor() {
            // 事件对象,存放订阅的名字和事件
            this.events = {};
        }
        // 订阅事件的方法
        on(eventName,callback) {
           if (!this.events[eventName]) {
               // 注意时数据,一个名字可以订阅多个事件函数
               this.events[eventName] = [callback]
           } else  {
              // 存在则push到指定数组的尾部保存
               this.events[eventName].push(callback)
           }
        }
        // 触发事件的方法
        emit(eventName) {
            // 遍历执行所有订阅的事件
           this.events[eventName] && this.events[eventName].forEach(cb => cb());
        }
        // 移除订阅事件
        removeListener(eventName, callback) {
            if (this.events[eventName]) {
                this.events[eventName] = this.events[eventName].filter(cb => cb != callback)
            }
        }
        // 只执行一次订阅的事件,然后移除
        once(eventName,callback) {
            // 绑定的时fn, 执行的时候会触发fn函数
            let fn = () => {
               callback(); // fn函数中调用原有的callback
               this.removeListener(eventName,fn); // 删除fn, 再次执行的时候之后执行一次
            }
            this.on(eventName,fn)
        }
    }

    https://www.jianshu.com/p/e0575e17de2a

  • 实现文件并行下载

    不会

2. XSS和CRSF攻击。如果小米商城存在XSS和CRSF的漏洞,如何攻击获取用户数据?

3. 做题。事件循环。

#小米前端面经##面经##小米##校招#
全部评论
是实习吗还是?感觉好难啊。。
点赞 回复 分享
发布于 2021-10-19 11:47
同学考虑北京字节嘛?
点赞 回复 分享
发布于 2021-10-15 20:03
北京的?
点赞 回复 分享
发布于 2021-10-15 17:18
这么难吗
点赞 回复 分享
发布于 2021-10-14 10:19

相关推荐

找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。 你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。 工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。
点赞 评论 收藏
分享
评论
1
23
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务