小米前端一面、二面面经

分享面经攒人品~
一面

  • 自我介绍

  • 实习经历介绍

  • px, em, rem

  • 题目二选一:

  1. json嵌套格式获取name(深搜/广搜/递归)
    结构:
    json {
     name: 'a',
     child: [json1, json2...]
    }
  2. class Event {
     on() {}
     off() {}
     trigger()
    }
    let a = new Event()
    a.on('hello', function(aa,bb,cc){
     console.log('hello',aa,bb,cc)
    })
    a.on('world', function(){
     console.log('') 
    })
    a.trigger('hello','a','b','c')
    实现on 和trigger
  • 事件循环(经典promise和setTimeout)

  • 缓存 后端缓存、前端缓存机制、http协议缓存机制

  • GET POST区别

  • vuex更新渲染视图流程

  • vue生命周期

  • 盒子上下左右居中

  • 三列布局 flex如何三列布局

  • 数据结构:文件系统(类似oneNote、有道云笔记)使用哪种数据结构,如何定义(树的节点)

  • 防抖与节流

  • 项目测试和上线(CI流水应该)

二面

  • 自我介绍
  • 实习项目介绍
  • let const var
  • GET POST区别
  • 双等三等区别
  • px, em, rem
  • vue生命周期
  • js作用域
  • display: none和visbility:hidden 区别 哪个会引发重绘?
  • 你熟悉的http状态码?504知道吗?
  • 实习项目开发流程?
  • 参与过需求评审吗?
  • 能不能提前实习?
  • 能不能待武汉?
  • 如何学习前端?
  • 看了啥书?印象最深刻的部分?
    应该还有一些不记得的
    感觉二面巨简单,应该凉了~
#小米##秋招##面经##前端工程师#
全部评论
楼主一二面都是什么时候
点赞 回复 分享
发布于 2019-09-11 18:22
二面之前有没有提前通知
点赞 回复 分享
发布于 2019-09-11 21:54

相关推荐

11.4:完成v1.1学员端用户查询功能和部分信息变更功能的开发;出现的问题:之前已经写好了部分信息变更的逻辑,但是当时考虑欠缺,导致需要大改;解决:经过思考,理顺了逻辑,也算是把之前的代码结构优化了一下;11.5:将阿里云图像审核功能整合到代码中,完成学员端用户信息变更功能的开发;问题:官方给的sdk的demo仅仅只是一个示例,要整合到我们的代码中,还需要规范化结构化,并且需要保证client可以重复利用;解决:通过静态属性保证了client只有一个,不会重复创建链接,并且将sdk整合成了api和api实现,提供了一个通过图片url获取审核结果的接口;思考:能否用设计模式或者其他优雅的方式来编写阿里云sdk,我感觉自己写的结构并不是很好,后续通过更多的学习看能不能继续优化;11.6:完成后台给学员添加备注功能,增加补充信息,以及添加备用邮箱为后台用户列表的筛选项;问题:由于前期考虑不周,将备用邮箱放到了用户详情表,导致筛选项又需要多连一张表进行查询;解决:在孙昕老师的提醒下,我思考了用户的一些基本属性,如性别、生日,这种属性应该放到用户表中,而不是放到详情表,由于备用邮箱需要作为筛选字段,因此也放到用户表中,就可以避免多连一张表导致性能下降;11.7:完成ClassIn功能的自动化注册和发送邮件功能;问题:ClassIn需要将账号保存到第三方表,我们现在使用的账号是邮箱,而我在完成开发进行测试时发现,数据库表中存了邮箱明文,说明当时设计表时忽略了这一点;解决:增加加密字段和md5字段,新增了update接口并测试保证存到数据库的一定是密文;思考:用户相关的敏感信息(邮箱、电话)等入表一定要记得加密和md5;11.8:梳理学员端分单功能需求,梳理用户支付相关的整个流程,设计响应实体;思考:通过看李老师写的订单支付相关的代码,发现有部分共通的功能(订单完成的状态变更、通过订单编号检验流水),可以拆出来作为共有功能,方便维护和扩展,因此我以后在写代码的时候,也应该考虑,是否有部分共通的代码,可以抽取出来,或者使用设计模式让整个结构和逻辑更加清晰;
点赞 评论 收藏
分享
评论
1
32
分享
牛客网
牛客企业服务