小米前端实习面经(已oc)+首次找实习 磕磕绊绊后的一点总结

前言

先介绍下自己的情况吧,坐标北京,大概从10月底开始准备实习,开始准备前的知识储备大概只有html、最基本的css属性、js也只知道一些dom操作相关的,对数据类型、原型链、闭包这些完全都不了解,并且不是计算机科班,数据结构只是选修、算法非常拉胯,计网也是大三上正在学习,可以说是比较接近0基础了哈哈哈。
10月底跟着教程撸了一个vue的小项目,然后跟着网课梳理了一遍前端知识体系,在恶补js的过程中边整边面,海投了北京大部分的大中厂吧,面了字节、爱奇艺、商汤、图森未来、北京奔驰、艾维诺、快手、好未来、英特尔、金山、小米,拿了北奔、金山、小米的offer。自己最大的感悟可能就是,对所有知识一定要有自己的理解、能用自己的话表达出来。
最最高频的考点:css的话主要是盒子模型、水平居中、flex布局、bfc;js特别常考数据类型;计网就是TCP和http;其他还包括事件循环、跨域。多的一些自己的总结放在最后吧,先上小米面经~

小米一面(50min)

  • 自我介绍
  • 内联元素和块级元素的区别
  • 盒模型相关问题,具体不大记得了,margin、width和height百分比时的参照物等等等等,到这里答得都不大好,css比较薄弱有点裂开
  • js变量类型:值类型、引用类型,分两类列了一遍
  • 追问值类型和引用类型有什么区别:存储方式,堆栈模型
  • 为什么typeof(null)返回object:前面自己说null的时候说的有点含糊...这里被问懵了,我说null在存储时指向一个空指针,和面试官稍微交流了下
  • 从输入url地址到页面渲染全过程:经典题目,八股文开背;说到TCP三次握手的时候面试官没忍住笑了下,气氛一下轻松了哈哈哈,应该是看出来有准备过面经,我也就讲的比较轻松了
  • 追问缓存机制相关问题:强制缓存、协商缓存
  • 好像还简单问了cookie、session,有点记不清了
  • 说说对js闭包的理解:简答了闭包的概念,说了函数作为参数被传入、作为返回值 两种形成闭包的方式
  • 追问闭包的应用:简单说了个隐藏数据,没再追问
  • 聊聊跨域:这块非常薄弱,先扯开说了下同源策略,然后说自己知道jsonp、cors,没啥实操经验
  • 追问跨域:对我之前项目没有碰到跨域问题非常惊讶哈哈哈哈,然后就没再深问了
  • 笔试题1:求输出值,追问为什么
    var b = 1;
    function outer() {
        var b = 2
        function inner() {
            b++;
            var b = 3;
            console.log(b)
        }
        inner();
    }
    outer();
  • 笔试题2:this指向相关的问题,求输出,这题有点看不懂语法答错了,但是说了下this指向的原则啥的
    var length = 10;
    function fn() {
        console.log(this.length);
    }
    var obj = {
        length: 5,
        method: function () {
        fn();
        arguments[0]();
      }
    }
    obj.method(fn, 1);
  • 笔试题3:面试官说我对this还有点理解,那就再来一题this的...这题是不同的this指向优先级的问题,懵对了结果但是没答出优先级,老哥非常友好的和我解释了为啥
    var b = 10
    function fn() {
        console.log(this.b)
    }
    c = {
        b: 11,
        fn: fn.bind(window)
    }
    c.fn()
  • 笔试题4:手写实现数组flat方法,写了10分钟左右没写出来,写了个大概的递归思路,和面试官交流了下就放我过了
    数组的flat方法
    function flat (array, deep) {}
    
    let a = [1,[2,3, [2,1]], 2]
    flat(a, 1)
    [1,2,3,[2,1], 2]
  • 会使用git吗:回答会,基本操作都熟悉,然后面试官说 好,那就不问你git问题了,我给整乐了哈哈哈哈
  • webpack熟悉吗:emm用过vue-cli但是不了解webpack具体配置,面试官:"没事别慌,这是附加题"
  • 简单问了一些vue相关的问题,记不大清了,只记得问了生命周期,computed作用,都是比较基础的
  • es6的新特性,有多少说多少:答得不大行
  • 反问:组内工作;面试里的不足

二面(50min)

小组leader面,上来甩了几个性能优化相关的场景题,比如在微博、头条新闻这种场景下,怎么去优化信息流、一次请求多少条数据合适、怎么去判断这个数值等等,比较开放性的题目,还问了两个实战相关的问题,想不大起来明天再补充;
之后让我自己自由发挥讲一下http协议...上来有点给问懵了,提示下从状态码开始说起,说了缓存、https加密等等,答得比较详细吧
有点迟了,二面其他内容和对零基础找实习的一些经验明天再补充填坑!
#实习##小米##前端工程师#
全部评论
话说第一题 内联元素和行内元素有啥区别 不是一个东西么?
1 回复 分享
发布于 2021-01-19 19:49
老哥,vue项目能推荐下吗?
1 回复 分享
发布于 2021-01-19 19:00
老哥啥时候去实习
1 回复 分享
发布于 2021-01-19 15:46
小米的面试官挺好啊,哈哈哈🤣
1 回复 分享
发布于 2021-01-19 14:52
老哥你二面完多久offer的呀
点赞 回复 分享
发布于 2021-03-10 22:58
实习完快点提桶跑路去大厂,别问为啥
点赞 回复 分享
发布于 2021-02-13 10:47
楼主在哪里投的哇,
点赞 回复 分享
发布于 2021-02-05 00:38

相关推荐

04-24 08:25
已编辑
门头沟学院 前端工程师
15min实习/项目+30min八股+45min手撕(简历写了很多性能优化+Ai)实习/项目:1.实习做了什么,技术栈是什么  React2.React的hook,Vue中也有相应的实现,具体举例    useState/ref 3.实现了哪些性能优化    CDN服务4.RBAC权限管理怎么实现的    数据权限+功能权限5.项目中用到的打包部署    Webpack6.后端开发工具调用如何实现    7.你在项目中遇到过的难点以及你是怎么解决的八股:1.路由懒加载的实现方式    import()语法实现代码分割2.输入url到浏览器到后端给出响应的过程 DNS  TCP HTTP 3.HTTPS对于HTTP做了哪些改进  4.对称加密和非对称加密     AES 公钥和私钥配对5.CDN服务器原理    CDN节点从源站拉取内容并缓存,用户从最近的服务器获取数据6.CDN回源过程是怎样的    7.你知道哪些性能优化效果评估指标    8.骨架屏如何实现优化的    在页面加载时显示的占位图形界面9.虚拟滚动优化列表渲染如何进行优化的    只渲染当前窗口可见的列表项,而不是一次性渲染整个列表  节流10.浏览器本地存储方式    Cookie  LocalStorage SessionStorage11.浏览器缓存机制    强缓存  协商缓存12.Webpack打包原理    解析入口文件,​​构建依赖图,​​Loader 处理​​,插件干预​,输出 chunk 文件13.操作系统中虚拟地址是什么,虚拟地址的优点    由CPU生成的逻辑地址,将虚拟地址转换为物理地址,更大的地址空间14.说一下JavaScript的事件循环机制  宏任务 微任务 Promise15.promise怎么解决地狱回掉的    then 方法链式调用手撕:寄了Promise (实现了部分,让我讲一下内部的逻辑)深拷贝(测试用例有target.target = target 导致循环调用,要用weakMap来实现)反问:1.具体业务:商家支付2.哪些需要改进的点:不够深,https,性能优化指标没答上来,手撕没手撕出来3.AI方向:AI催债,信贷评估等等4.出结果:2-3天
查看22道真题和解析
点赞 评论 收藏
分享
04-25 15:51
华南理工大学
总结下来,其实自己这次暑期虽然投递了很多,但约面较少,进了美团也许是运气因素。        美团:第一次二面挂,二面基本没问前端,全是计算机的内容(科班应该没问题),大致内容如下:                 面试官:学过操作系统和数据结构吗?         我:不是计算机专业,了解的很浅。         面试官:没关系,没学过,在我的引导下应该也能答出来,说说操作系统怎么进行内存管理的?         我:(把看过的一点八股都说了)虚拟内存,分段分表这些浅层概念。         面试官:具体是怎么划分的?用哪一种数据结构划分?这个管理的过程是什么样的?         我:答了一点点后,就说不会了。         面试官:好吧,那么现在假设有一段内存,你准备用什么方法分配?         我:按照指定的大小,将起始地址设置为key,内存大小或者其它必要信息设置为value,使用一个map结构来实现。         后面有点忘了,就提出一些问题,比如有的需要内存小,有的需要内存大,这个就存在分配问题。         虽然面试官后面也在引导,但确实没啥概念,最后感觉也没答出来。         面试官:说说TCP和UDP的区别吧?         我:八股说了。         面试官:既然你说到了拥塞避免和流量控制,详细讲讲过程。         我:答了每次应答会回传一个值控制滑动窗口大小以及慢启动,拥塞避免,快重传这些八股。         面试官:对回传这块深入询问。         我:浮于表层的我,又答不出来了。         面试官:尝试引导,以堵车为例子,什么交警如何知道堵车以及后续怎么控制拥堵程度。         我:尝试作答,但感觉没答到面试官想要的点子上。                   面试官:你为什么要做这个项目?价值在哪里?(大致这个意思)         我:额,这两个是学习项目,没有上线,学习前端开发的流程。         面试官:好的,说说项目的亮点吧。         我:说了虚拟列表的几种实现方法,轮播图以及电梯导航原生实现的三种方法。(可能这里提了自己在网上找了多种                 实现方式,面试官觉得没有自己的思考?)         面试官:这几种实现方式也是网上常规的,也就是都是网上寻找的现成方案吗?         我:额,确实主要是以网上的方案为主体进行更改的。         面试官:你还觉得你项目有什么难点吗?         我:这时候已经有点晕头了, 说这几个点确实都是网上找到方案做的,还说这些也不难         面试官:好的,进入下一个阶段。         面试官:现在可以做一个智力题吗?         我说,可以换一个算法题吗?(开始介绍时,说了这个阶段是算法或者智力题,完全没做过那啥杯子倒水的智力题,就说换成算法吧)          面试官:好的,但我这个可不是leetcode上的那种算法题          题目大致如下:相亲市场上有很多男女,让你设计一个算法,每轮随机进行配对,然后不允许配对已经配对过的,          每轮打印结果。                     因为时间不够,就说了下思路,把男女进行标号,用一个列表存储已经排列的男女,例如[男1-女1,男1-女2]          后面问优化方案以及时间复杂度。          答完后面试官说没有答到每轮随机的设计方式。(可能当时听题目没太注意)          问你用过AI辅助开发吗?怎么用?用的chat还是Agent模式?           反问。(工作日后被捞)            第二轮美团一面:(主要还是AI)           1.先问了下项目中某个功能的具体实现?问的蛮细,问的蛮久,比如这个组件传哪些参数,怎么动态生成。           2.useCallback useMemo Memo           3.跨域           4.用的什么AI工具开发前端? 为什么用cursor?           5.提到了agent模式,怎么用mcp工具查看选中DOM,怎么用AI检查内存泄漏,AI辅助开发的技巧有什么?           6.要求打字结合说明,就说我用AI尝试开发一个苹果时钟APP,过程有哪些关键。比如明确AI的身份,要一步步的来               把你需要的组件的大致结构传给AI,入参哪些,什么样的逻辑。(这部分就是主观的,完全看你平时怎么用AI辅            助来答就行)           7.后面基本都是AI的一些浅层知识,哪几种大模型,区别,适用于哪些场景这些。           美团二面:(全是AI)           也是问AI辅助开发有哪些诀窍,你会怎么使用,然后遇到一些问题怎么解决?                      中途提了一嘴动态表单,然后面试官就给了一个需求让现场打开共享用AI辅助开发一个动态表单。(这个基本占据大量面试时间,最后没写出来。(cursor其实真没用多少,尤其是准备面试这段时间)            把你每次的提示词复制发送给面试官。                        就问你怎么了解AI大模型发展? 用过哪些? 怎么用? 以及大模型在哪些地方有缺陷?以及刚才你用AI辅助开发哪里存在问题?            反问。(流程没变超多天,最后OC,感觉是前面的人鸽了很多?)                        就以我以及身边的人而言,感觉确实前端开发对于大模型的应用很关注。            以我舍友为例,面的某杭州大厂,一面1小时,简单问了点八股和项目后,看到他的研究方向跟大模型有关,就畅谈了半小时的研究方向和大模型; 二面1小时,应该全部是聊大模型;最后通过,说是部门最近想搞一个跟大模型结合的内容,想招点懂些这个的人进来可以搞点有意思的东西。(同学做的是这方面研究,但论文尚未投出,所以我觉得如果是冲算法岗位但确实大厂神仙打架进不去,可以尝试开发学点,当下大模型风口也许不问你开发很深的东西就让你通过了,后续进去也是做和大模型相关的东西,也许算是算法爷的曲线救国?)
点赞 评论 收藏
分享
04-17 17:27
已编辑
门头沟学院 前端工程师
鼠鼠的春招告一段落了,整理一下面经回馈牛子们timeline:2.26投递3.19约面,部门成都crm3.24一面3.26二面六个工作日后收到感谢信4.7约面,部门深圳clc4.8一面4.10二面4.14三面4.15oc3.24一面1. 自我介绍2. vue中父子组件渲染/卸载/更新流程3. 闭包的应用4. 实现add(1)(2)(3)5. 路由的 hash 模式、history 模式6. 事件循环7. 事件循环输出8. vdom的理解9. vdom一定能提高性能吗10. aicoding的理解11. 实习相关12. 手写:实现call,要求在node和浏览器内通用13. call和apply哪个性能更好14. 反问3.26二面1. 自我介绍2. 主要是实习+聊天3. 手写flat函数4. 用ts重构,给函数补充类型,主要考察泛型5. 反问六天后挂4.8一面1. 无八股,纯实习2. rn的兼容性处理3. 介绍一些rn的最佳实践4. 手写:retry函数,要求传入promise,times。timeout,请求立刻发出,失败时进行不超过times次的重试,请求时间超过timeout,直接reject。主要考察promsie和race4.10二面1. 实习相关2. 开放性问题3. 平时喜不喜欢做技术分享4. 平时有没有写文档的习惯5. 在学校成绩排名6. 怎么学的前端7. 手写:传入一个数组['abc','abcd','abe'........],求出数组内所有字符串的最长子序列4.14三面1. 自我介绍2. 实习相关3. ai结合低代码怎么落地4. 低代码平台的原理   1. hoc   2. 低代码产物   3. 低代码产物怎么生成页面   4. 微前端在低代码页面的体现5. 微前端两种沙箱的实习原理6. https的加密机制   1. 对称加密   2. 非对称加密   3. https的加密时机7. rn爱马仕引擎   1. 说说你对爱马仕引擎的理解   2. 爱马仕引擎的优缺点8. webpack和vite   1. 介绍两者差别   2. vite优点   3. 为什么vite启动更快,热更新更快9. 你觉得当前低代码平台在使用上有什么问题10. react导航在移动端和pc的差异,怎么抹平,实践中遇到过因为差异引起的问题吗11. 手写:两两翻转,k个一组翻转12. 反问
点赞 评论 收藏
分享
评论
18
112
分享

创作者周榜

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