记一次凉凉的小米前端面试

推广一下个人网站:Bougie‘s Blog

毕业一年的跨专业萌新,在拉勾上投了武汉小米的简历,不出两天,简历被HR姐姐标为“不合适”,心想自己这点履历和经验小米是看不上了。又过两天,大概晚上八九点钟,HR姐姐突然打电话说邀请面试。也是有点奇怪。

从家到小米有两个小时车程,做公交车二层晃得竟然有点想吐了。心想做程序员一年,没学到啥高深的东西身体却不知不觉间变得这么差了;同时对此次面试也没抱太大期望,因为自身实力和小米的招聘要求还是差了一个档次。进入小米正门,左手边是小米信息部,右手边是wps。想起来前不久在一个招聘群里面认识的wps的孝感老乡就在隔壁上班,也是一种缘分哈哈。

笔试

面试前要先做一份笔试题,题目大概是:

  1. 爬虫引擎是怎样抓取页面的
  2. 浏览器渲染页面的过程
    1. 用户输入URL地址
    2. 浏览器解析URL解析出主机名
    3. 浏览器将主机名转换成服务器ip地址(浏览器先查找本地DNS缓存列表 没有的话 再向浏览器默认的DNS服务器发送查询请求 同时缓存)
    4. 浏览器将端口号从URL中解析出来
    5. 浏览器建立一条与目标Web服务器的TCP连接(三次握手)
    6. 浏览器向服务器发送一条HTTP请求报文
    7. 服务器向浏览器返回一条HTTP响应报文
    8. 关闭连接 浏览器解析文档

    网上找的标准答案,自己答得也是这么个意思,但是没这详细。

  3. 异步编程的四种方法

    看到这题瞬间感觉阮老师简直就是中国前端界的教父级人物啊,面试官的理想答案应该是阮老师这篇文章:Javascript异步编程的4种方法。自己特地看过,也总结在我的面试题总结里面了:前端面试偏门题总结。但是记性太差还是答偏了,心里恨啊。

  4. 解释同步\异步、阻塞\非阻塞、并行\并发之间的区别

    这里补充一下并行和并发:并行是指运算中的两件或更多件事情在同一时刻发生。实事求是地说,这种情况只会在系统CPU拥有两个独立核心时发生,这样在任何时刻才会有不同的电脉冲信号发出。并发意味着至少两件事务在同一时间段发生。但注意,这里的事务是(高级的)任务,而不是(低级的)操作。所以,请分清并发和并行。

  5. js实现数值千分位

    头条笔试碰到过了:number.toLocaleString()

  6. 多语言网站建设应注意哪些事项

    一开始以为多语言是pythonjavaphp啥的,后面面试官说是各个国家语言。

  7. React非父子、兄弟组件传值

    状态管理:Redux、Mobx等等

  8. "123456789876543212345678987654321..."的第n位是什么

    javascript function getNum(n) { let num = 1, flag = true for(let i = 0; i <= n; i++) { if(num === 1) flag = true if(num === 9) flag = false flag ? num++ : num-- } return num }

    时间有点紧不小心把i <= n写成i < n了,尴尬,怪自己不细心吧。

时限是20分钟,还有两三题记不清了。

面试

面试官很亲切,说话很流畅并且肯定,感觉是个知识体系非常齐全的大牛。以下题目顺序并不是面试官问的顺序:

  1. 浏览器打开一个页面前端缓存了哪些东西?

    我:后端通过设置响应头Cache Control设置资源过期时间,用于缓存一些静态资源

    面试官:还有呢

    我:DNS缓存

    面试官:后端缓存了什么

    我:缓存了session

    面试官:还有呢

    我:...答不上来了

  2. 说一下vue的生命周期

    一年的Vue不是白用的,顺利从beforeCreatedestroyed过了一遍

  3. 你的博客用的是Koa,Express用过吗?

    我:用过,我的个人博客本来用的是Express,后面改成Koa了

    面试官:为什么要改?Express不好用吗?

    我:Koa的路由用async和await处理,不会陷入回调地狱

    面试官:Express的路由也可以封装成async\await,自己试过没有?

    我:没有。。。

  4. 你的博客用的什么服务器?

    我:用的Node服务器,pm2做进程守护的

    面试官:代码直接放上去运行的还是编译后运行的

    我:(一脸懵比,脚本语言还能编译???)直接运行的

    面试官:服务器是什么系统的?

    我:windows sever...(感觉面试官笑了)

    后来查了一下,segmentFault的大佬们也说Node JS不用编译:运行在服务端的Node.js代码需要编译吗?,好想追问一下面试官到底怎么编译啊。

  5. 有没有自己实现过Promise?

    看了不少文章,自己也写过了,但问到细节还是答烂了。

  6. 有没有写过Webpack插件?

    我:没有...

  7. new 一个对象后发生了什么?
  8. 写过响应式网站吗?

    我的个人博客就是响应式的,主要说了媒体查询和rem控制字体大小。

  9. 说一下原型和原型链
  10. 有没有自己写过比较复杂的正则?
  11. 有没有封装过axios?
  12. 前后分离的系统,一个请求出错了,如何中断其它请求?
  13. 如何在axios中添加登陆验证?
  14. rollup了解过没?
  15. 为什么rollup打包赘余代码比较少?
  16. 有没有结合原生封装过RN组件?
  17. 为什么用高德地图不用百度地图?
  18. 怎样在Android Studio中对React Native的js代码进行断点调试?

......

还有n多问题记不太清了...

然后面试官问了一些其他的东西,对小米有什么看法?995上班、加班没有加班费能不能接收等等。心想小米在雷总的带领下还真是拼啊。

面试聊了一个小时,很多问题答烂了,今年应该是和小米无缘了。也明显看到了自身实力的不足。很感谢面试官给我这次面试机会。

原文地址:https://www.cnblogs.com/bougie/p/9346797.html

时间: 2024-11-07 04:15:24

记一次凉凉的小米前端面试的相关文章

2016.10.19 小米前端面试 vs 2016.10.22 华为web面试

这次面试还是很值得记录一下的~长了很多姿势. 一共三面,面试官都是MIUI的浏览器部门,感觉面试官都很厉害,知识点问的很细很深入. 一面面试官是个可爱的小姑娘,主要考察的就是常见的前端面试题,很基础,但是会在其上进行拓展和深入.就我记得的一些题做个总结: 1. 说一下CSS的盒模型?(这简直是我参加过的几乎所有前端面试岗必问的一道题目--不管是比较水的国企还是问基础的互联网... 想一想似乎只有只问项目不谈基础的京东没有问吧) 这里是答案 2. 常用的跨域方法:(之前小米一个面试官电话面试时候也

thuwc 凉凉记

今天 thuwc (五道口职业技校冬季体验营)结营了. 结果:初三 dcx ,高一 yww ,高二 sk 无条件一本,zwl 省队一本,初三 myh 仍然省队一本,我凉凉了,xj 也挂了.华附的 whj 省队一本,首师大附中的 xjr 也挂了. 不用说,我肯定很悲伤. 但这毕竟是历史的唯一进程,既具有偶然性,也具有必然性. 我能做的,就是找出原因,做出对策. 我回顾了一下自己的整个 OI 历程.我还记得初一的时候,我在 quick sort 都不会的情况下,拿了 NOIP 一等奖.我还记得,初三

记一次凉凉的浦发面试

面试时间: 2018-8-1 面试岗位:信息开发岗 面试流程:综合面 --> 技术面 --> 机试 综合面: 面试官3人 1. 随机抽一个话题,发表自己的看法,我们组分别是抖音不良内容管理及大学生慢就业现象(每组6人,会有3人抽到相同的话题),发言顺序采取自愿式. 2.自我简介,从每组的1号开始,个人感觉1号比较吃亏,几乎没有构思时间.建议大家从自己的性格,学习,学生活动说起,不要过多说自己项目,这些面试官对你的项目并不十分care,技术面会有专人问的. 3.面试官会随机问特定的人一些问题,也

小米前端二面面经

title: 小米前端二面面经 toc: true date: 2018-10-20 13:04:04 categories: Web tags: JavaScript HTTP TCP UDP Cookie 正好都是不会的...所以完整地记录一下. 简单来说就是JS和网络掌握地并不是很全面. JavaScript严格模式 ES5中新增use strict 不允许使用未声明的变量: "use strict"; x = 3.14; // 报错 (x 未定义) "use stri

2018年前端面试总结

2018年前端面试总结 再有两个月,2018就快过完了,因而有必要在年末对2018年的前端学习做一个总结,本文主要从前端面试中的一些基础知识来对前端进行相关的总结.本文根据网络面试题进行总结. 基础知识 本部分主要从以下几个方面来回顾前端相关的基础知识: HTML相关 CSS相关 JAVASCRIPT相关 DOM相关 HTTP相关 webpack相关 Html html 根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解

2020年前端面试复习必读文章【超百篇文章/赠复习导图】

前言 之前写过一篇 一年半经验如何准备阿里巴巴前端面试,给大家分享了一个面试复习导图,有很多朋友说希望能够针对每个 case 提供一个参考答案. 写答案就算了,一是「精力有限」,二是我觉得大家还是需要自己「理解总结会比较好」. 给大家整理了一下每个 case 一些还算不错的文章吧(还包括一些躺在我收藏夹里的好文章),大家可以自己看文章总结一下答案,这样也会理解更深刻. 「并不是所有文章都需要看」,希望是一个抛砖引玉的作用,大家也可以锻炼一下自己寻找有效资料的能力 ~ ( 文章排序不分前后,随机排

问得最多的十个JavaScript前端面试问题

我知道有很多人不同意这种类型的面试.其实不管你喜不喜欢,你都得接受.尤其当你是自学的,而且要申请第一份工作时. 我估计很多有人其它方法来证明他自己,像Github/ 项目地址可能是非常理想的证明方法,但也别全都指望这些. 好消息是有一些很难的问题,在有限的时间里我没答上来(比如说Event Loop和杨辉三角),一些其它面试侯选人也承认他们也没答上来,这会让讨论变得轻松很多. 坏消息是有些面试之后就没有任何反馈了.有三家公司再也没联系过.这点击打击自信,而且没有受到尊重.然后你可能会有心理斗争,

【转载】前端面试“http全过程”将所有HTTP相关知识抛出来了...

原文:前端面试“http全过程”将所有HTTP相关知识抛出来了... 来一篇串通,一个http全过程的问题,把所有HTTP相关知识点都带过一遍 http全过程 输入域名(url)-->DNS映射为IP-->TCP三次握手-->HTTP请求-->HTTP响应-->(浏览器跟踪重定向地址)-->服务器处理请求-->服务器返回一个html响应-->(视情况决定释放TCP连接)-->客户端解析HTML-->获取嵌入在HTML中的对象重新发起http请求

百度Web前端面试经历

今天面了百度的前端实习职位.一面.时间大概是50分钟.面试官是位很帅气的小伙子,非常友好的一个人.进门的时候他让我等一会,我瞄了一眼他的电脑屏幕,发现他在coding…… 9点50开始的面试. 面试官:自我介绍一下. 我:blablabla. 面试官:javascript的类型转换(比如"2"*1, "a"*1). 我:javascript会调用valueOf来转换为一个基本数据类型,在这种情况下,如果javascript不能通过valueOf转成一个number,