小米前端二面

等结果的时候把面经发了攒人品 米爹让我过吧求你🙏一共面了1h,复盘回看感觉在给自己上刑。。

自我介绍

js常见数据类型

null和undefined的区别

js作用域

对面向对象的理解(打了我个措手不及。。问了我面向对象的特性,答继承多态封装,只记得这六个字

什么是继承多态封装(懵,完全组织不起来语言,勉强解释了继承,

js中创建类的方式(又懵,说了声明对象,构造函数,他补充class)

深拷贝浅拷贝

闭包

js原型链

有用原型链解决过什么问题吗

做开发用的什么操作系统(啊?我说我用macOS 晕死

进程和线程

多线程的通信方式(不会 没复习到 当时期末考都没考这个

js是多线程还是单线程

介绍死锁

怎么避免死锁(我说用银行家算法

介绍银行家算法,说下大概思路(就记得有个安全序列,输出一通废话

说说http协议

网络分层模型

http协议在哪层

http和https的区别

说说tcp协议

http基于tcp还是udp

http发展几个版本,有什么区别(复盘的时候发现好像嘴瓢把1.1说成1.0了 我死一死

了解过http3.0吗(没了解没背哈哈🥲

网络请求类型(get post

还有其他的吗:head options

get和post的区别

get长度限制大小为多少(我说这个长度是浏览器对url的限制,具体长度没记过

常见数据结构有哪些(栈 链表 二叉树 图 队列,然后他说还有数组。。

数组和链表的区别

算法题讲思路:查找字符串数组最长公共前缀(用双层循环

这个算法的时间复杂度

说几个排序算法 介绍其中一个并说他的时间复杂度

position有哪些属性

margin和padding

对盒子模型的理解

浏览器输入url到渲染页面的过程

浏览器缓存方式

session和cookie的区别,cookie一般用来做什么(再次懵,我说登录验证吗但是会被信息窃取啊

问我有没有读写过cookie,没有呢

跨域问题

问对哪个框架比较熟(vue),vue2还是vue3

vue3生命周期

网络请求放在哪个生命周期钩子里(应该是created或者mounted,很不幸答错了

子组件和父组件通信方式

首页加载慢的原因和解决方式

首页滚动特别卡怎么解决

说说虚拟dom

v-key的作用

双向绑定的实现

v-bind的实现原理(没看过源码

问我能实习多久,最早什么时候到岗,能不能接受去北京,说他那边要求实习至少六个月左右,每周至少四天

——反问阶段——

问了做什么项目,有没有导师,面的哪个部门

面试有几轮 说二到三面 啊啊啊别面了可不可以直接发offer😭

#前端##小米##面经#
全部评论
2.null是赋给对象的特殊值,表示什么都没有,undefined是只声明未赋值的变量的值,尽管它们两个等号是true,但它们的类型也不同。 3.js作用域分为全局作用域,块作用域和函数作用域,全局作用域就是全局的,块作用域就是块里的,而函数作用域就是函数里的,可以顺带讲一讲生命周期,全局作用域伴随着js开始到结束,块作用域伴随着js括号开始到结束,函数作用域伴随着函数调用开始到结束。 4.面向对象,确实答封装继承多态,但也可以讲讲和面向过程的区别,面向过程就是从上到下的执行步骤,而面向对象封装了变量和函数,是对一整个对象进行操作。 5.封装是private,不能暴露给外部,但可以通过get和set方法提供间接操作的接口,继承是为了代码复用性,子类可以继承父类的属性和方法,就不用自己写了,多态是子类对象赋给父类,对象调用重写方法时会走重写方法,从而表示一个逻辑不同实现。 6.古老的function,es6推出的class,可以说class更加方便和直观。 7.深拷贝和浅拷贝区别就不说了,浅拷贝数组concat,slice,...,对象Object.assign,...,深拷贝structuredClone,lodash _.cloneDeep,JSON.stringify和JSON.parse。 9.js原型链,可以说继承通过原型链实现的,Object.prototype.__proto__为null,然后根据继承关系,比如Animal继承Object,那么Animal.prototype.__proto__指向Object.prototype,而Cat继承Animal,那么Cat.prototype.__proto__指向Animal.prototype,然后Cat对象访问属性或方法时,会先找自己的,再找Cat原型的,再顺着找Animal原型的,Object原型的,这样就实现了继承。 10.这怎么说,就说只记得给Vue原型添加属性或方法,组件也就能相应的访问了,也就是事件总线的原理。 12.进程是资源分配的单位,线程是cpu分配的单位,进程包括多个线程,同一进程内的线程可以共享其中的资源。 13.消息队列,不记得了。。。 14.js是单线程的。
2 回复 分享
发布于 08-30 00:22 湖北
佬加油
点赞 回复 分享
发布于 05-29 16:49 山西
是暑期实习吗
点赞 回复 分享
发布于 05-30 00:38 重庆
问了这么多
点赞 回复 分享
发布于 05-30 01:26 上海
15.死锁就是进程相互等待对方释放自己想要的资源,谁也不放手。 16.不记得了。。。 17.http协议是应用层协议,全称叫超文本传输协议,也就是传输超文本时应该遵守的规范。 18.就说五层得了,物理层,数据链路层,网络层,传输层,应用层,然后讲讲每层的作用(任务)。 19.应用层。 20.https多了一层ssl/lls,好像叫这个,保证了传输的安全性,比如加密等。 21.tcp协议是传输层协议,它是面向连接,字节流,可靠的。 22.3.0之前都是基于tcp,3.0基于udp。 23.1.0 1.1 2.0 3.0,1.1增加了很多状态码,缓存策略,还是长连接,2.0增加了分块下载(断点续传)还有什么,3.0基于udp,因为提出了一个quic协议,其实也就相当于tcp,只不过保证可靠的同时变得更快了 25.我只知道get,post,put,delete和options,head好像是只传个头? 27.get长度限制好像是4KB 28.数组,链表,栈,队列,树,图 32.只记得冒泡,选择都n^2,堆,快速都nlogn 33.position有relative,absolute,fixed,粘性定位没看 37.缓存方式cookie,localstorage,sessionstorage 38.cookie用于前端,keyvalue格式,第一次访问有的后端会生成一个session,然后将sessionid传给浏览器,浏览器接收后放到cookie中,之后都会携带它从而找到对应的session,cookie存不敏感的数据? 39.有的,不过都是用java写的 41.vue,vue2 43.网络请求放在created吧 44.props 45.不知道 46.不知道 47.虚拟dom和真实dom应该差不多,主要是为了提高渲染性能,方便用diff算法,比较虚拟dom和真实dom,如果一致的,不重新渲染了,如果不一致的,就重新渲染成虚拟dom的 48.:key就是为了提高渲染性能的,可以讲讲给索引和给id的区别 49.数据->视图要讲发布订阅那一套,视图->数据要讲input事件 50.实现原理不就是封装了原生的事件?
点赞 回复 分享
发布于 08-30 00:36 湖北

相关推荐

评论
11
31
分享
牛客网
牛客企业服务