美团前端暑期实习一面+一二面
美团
美团到店base北京一面3.31
-
项目
-
Vue的生命周期
-
Vue的父子组件的生命周期函数执行顺序、更新的时候的顺序(没了解过,答的很混乱)
-
vue如何实现响应式原理,vue2和vue3
-
data为什么是函数不是对象
-
网络协议分层,tcp在哪一层?udp呢?区别
-
tcp三次握手
-
http、https
-
操作系统:进程和线程(没复习os,随便答了点)
-
浏览器输入url的过程,服务端返回的响应报文的内容是什么(面试官说是html)
-
让页面打开得更快,你可以进行什么优化?
-
常规的跨域
-
原型链,原型链的访问尽头
-
new操作的过程
-
学习前端的方法
-
做题:是在面试20mins左右做的。
买卖股票(写错了,转不过弯来,脑子当时就是转不动……)
-
反问(这里面有几个八股文没看过,答的很烂,题也没做出来就知道g了,)
美团外卖base北京一面4.18
-
从什么时候开始学习前端、为什么要做前端?和现在在学校的研究方向冲突吗?
-
对前端的理解?如何学习前端的?看过的书?
-
MVC和MVVM区别?除了Vue还接触过什么前端框架嘛?(我反问了下,公司那边用到的是React,但是不影响)
-
Vue的组件间通信?
-
你提到的发布订阅是什么?他和你提到的eventBus什么区别或者说关系?
上网搜了下:事件总线是对发布-订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依***到一种解耦的目的。
-
发布订阅和设计模式里面的观察者模式区别
-
vue的父子组件创建、挂载这四个生命周期函数的执行顺序
-
vue渲染列表的时候有个key,它的作用?使用key需要注意什么?在什么范围内唯一呢?(在整个页面嘛?还是说整个前端工程或者说……)
我一直回答的是进行虚拟dom比较的时候会发生错乱……面试官说:是会引起不必要的比较,没有key所有虚拟dom元素都会被比较。
1. 虚拟DOM中key的作用: key是虚拟DOM对象的标识,当数据发生变化时,Vue会根据【新数据】生成【新的虚拟DOM】, 随后Vue进行【新虚拟DOM】与【旧虚拟DOM】的差异比较,比较规则如下: 2.对比规则: (1).旧虚拟DOM中找到了与新虚拟DOM相同的key: ①.若虚拟DOM中内容没变, 直接使用之前的真实DOM! ②.若虚拟DOM中内容变了, 则生成新的真实DOM,随后替换掉页面中之前的真实DOM。 (2).旧虚拟DOM中未找到与新虚拟DOM相同的key 创建新的真实DOM,随后渲染到到页面。 3. 用index作为key可能会引发的问题: 1. 若对数据进行:逆序添加、逆序删除等破坏顺序操作:会产生没有必要的真实DOM更新 ==> 界面效果没问题, 但效率低。 2. 如果结构中还包含输入类的DOM:会产生错误DOM更新 ==> 界面有问题。 4. 开发中如何选择key?: 1.最好使用每条数据的唯一标识作为key, 比如id、手机号、身份证号、学号等唯一值。 2.如果不存在对数据的逆序添加、逆序删除等破坏顺序操作,仅用于渲染列表用于展示,使用index作为key是没有问题的。
-
computed和watch
-
keep-alive
-
tcp和udp区别、tcp的四次挥手
-
http是基于tcp的,http的版本变化?
-
浏览器缓存?有last-modified为什么还要有etag呢
-
介绍下ES6,提到了for...of它可以遍历普通的对象嘛
-
箭头函数,call、apply它们改变箭头函数的this会有问题嘛
这里答错了。应该是他们不能改变箭头函数的指向,但是会正常将函数执行
-
做题:
-
front-end------>FrontEnd(我写复杂了点……面试官提出来了)
开始调的是页面模式嘛?他会在html中显示。后面变成代码模式
-
判断两个对象是否相等,如果对象中有特殊的类型比如Date?Symbol?循环引用?
-
-
反问
面试感受:能感觉到有些地方面试官对我的回答不是很满意,但是整个过程没啥大问题吧。题也做出来了八股文答的也还行?
每天发消息骚扰公众号,哈哈哈哈,因为挂过一次了且这次自我感觉还行,所以无所畏惧。
4.21发短信+邮件约二面4.25
美团外卖base北京二面4.25
面试官全程面带笑容!露出整齐的牙!完全不知道紧张两个字怎么写!
因为我只学过vue,所以问问题过程中提到的vue可能有的程度上指的就是mvvm框架
-
对前端的认识
-
前端包括哪些领域,比如web或者说pc、大前端,你知道有哪些嘛
-
接触过node嘛?node是做什么的?
-
知道的后端还有什么?刚刚说了前端,那么和后端又有一些什么样的语言?或者说工具、框架等?想想为什么会出现这样一些不同的语言呢
-
没有vue之前是怎么编码的?或者说不用vue框架我们之前是怎么实现那些功能呢的?
-
对比传统的,专门去开发vue框架的意义?(问的是vue框架对比原生的特点?)
-
刚刚回答了vue对比原生的优点,那有什么缺点呢?项目白屏,那么引起项目白屏的原因是?
-
之前提到了vue框架里面直接修改数据就可以实现页面的更新不需要直接对dom进行操作,它是怎么实现这个功能的呢?
-
那我都知道我要修改这个数据了,我直接操作dom修改不可以嘛?为什么非要用vue呢?他的变化也会在界面中展示出来呀?频繁操作dom对性能有影响
-
针对前面的,其实频繁操作dom跟我们vue里面的虚拟dom有很大关系,有了解过虚拟dom实际上是什么东西嘛,他是个概念,那么真实实现的时候是是什么结构?(面试官想问的是虚拟dom是以什么形式存在的,其实就是任意一种可以表示节点之间关系的数据结构)
-
你觉得现在vue掌握的怎么样?我提到了项目
-
讲一下项目 。
-
那其实你也学过java,后端就业面也挺广的,为什么不选择它呢?
-
在问项目的时候问到了蛮多场景,我答的一般,但是面试官问的很好,或者说问的方式特别好。大概提到了vue的路由、axios、
-
vue的路由和浏览器的路由之间的关系,也就是说vue里面你去路由跳转的时候,我浏览器可以前进后退等嘛。
-
java和js语言方面,他们在执行的时候又什么区别?解释型语言也会编译嘛
-
js的数据类型的特点,弱类型,他有什么特点呢?那么针对你说的这个它的缺点,又什么办法解决呢?或者说不需要解决?(行业上来讲?)引入typescript,我没学过,面试官给我讲了讲它的特点等。
-
js是我们的前端的一个很重要且基础的内容嘛,讲一讲js里面的内容大概可以分为哪些?
-
你提到了异步,那么哪些场景是异步的呢?加载图片是异步的嘛?那么同步异步到底是什么呢?
-
有哪些异步处理方式?我说了es6中的promise那几个,问:为什么需要这几种呢?一种不可以嘛?他们有什么区别啊?你提到了promise解决了回调地狱的问题,async await,generator可以解决嘛?
-
做题:发起两个请求,请求的结果一起作为第三个请求的请求参数,返回最后得到的内容。那如果请求失败了,我要得到是哪里出错了,出了什么错怎么解决?(这个题我知道用promise,但是用generator写的,后面的追问是想考察promise.all,我答的方式也是一个方法面试官说的)
-
输入url到页面渲染的过程
-
tcp怎么保证它的可靠性
-
你们的项目是怎么完成的?就是说里程碑式的,时间节点方面的,怎么保证任务能正常交付?(这个问题答的也不行,)
-
在项目交付之前需要测试对吧?要保证正常交付,你也感觉到了你们在这方面的问题,那你觉得应该怎么解决呢?
蚌埠住了,突然画面卡了,网站显示304……一看校园网断突然了,正在找面试官电话准备给他打过去的时候他打过来了,因为时间也面了70mins了,他说也差不多了,问了下个人基本情况,实习时间?找实习的情况?对于美团的看法之类的。
面试感受:虽然我很菜!但是这次面试体验真的很好!面试官特别特别温柔,全程露大白牙!还一直带这笑容,一把子爱了!他会一直引导你去说,问问题的方式也是通过问对一些场景的解决方式来逐步引出问题,然后感觉有认真听我的回答。点赞!😚😚😚😚
我真的谢....已经5.16了没给我发感谢信却收到了另一个部门的面试邀请,第一次有美团的给我打电话,虽然知道上一个g了,但是接到电话还是幻想了一下是oc结果另一个部门约面......不面了我麻了
#美团暑期实习##实习##美团##前端#