10.10阿里电话面

40min,还是问了很多不清楚的地方
1、进程和线程,进程之间如何通信,进程如何同步

进程:

进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。

线程:

线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。同样多线程也可以实现并发操作,每个请求分配一个线程来处理。

进程之间通信:管道,消息队列,共享内存,信号量,信号,socket
进程之间如何同步:临界区、互斥量、信号量、事件



2、tcp三次握手,四次挥手详细说说过程,

3、https相对于http有哪些改进、http2相对于http1有哪些改进,http如何抓包

二进制分帧、头部压缩、服务器推送、多路复用、传输内容加密

4、http状态码,notmodified表示什么,说一下缓存,说说协商缓存中last-modified与etag分别用于http的哪个版本

304 not Modified表示请求资源与本地缓存资源相同未修改。

5、跨域的原理,解决方法,常用,为什么要用options请求,服务端都做了什么,
6、vue2和vue3的区别,为什么vue3要用setup
7、懒加载,如何实现的,图片懒加载如何实现
8、echarts在页面渲染后,是一个什么节点,div还是什么的
9、如何mock数据的
10、针对http握手,有哪些安全攻击
11、vue2中数组监听,push是如何实现的重写数组方法,vue.set()
12、https加密的过程
13、vue的双向数据绑定如何实现的,底层,如页面上的数据如何改变,改变数据又如何显示到页面上

Vue 主要通过以下 4 个步骤来实现数据双向绑定的

  • 实现一个监听器 Observer 对数据对象进行遍历,包括子属性对象的属性,利用 Object.defineProperty() 对属性都加上 setter 和 getter。这样的话,给这个对象的某个值赋值,就会触发 setter,那么就能监听到了数据变化。
  • 实现一个解析器 Compile 解析 Vue 模板指令,将模板中的变量都替换成数据,然后初始化渲染页面视图,并将每个指令对应的节点绑定更新函数,添加监听数据的订阅者,一旦数据有变动,收到通知,调用更新函数进行数据更新。
  • 实现一个订阅者 Watcher 订阅者是 Observer 和 Compile 之间通信的桥梁 ,主要的任务是订阅 Observer 中的属性值变化的消息,当收到属性值变化的消息时,触发解析器 Compile 中对应的更新函数。
  • 实现一个订阅器 Dep 订阅器采用 发布-订阅 设计模式,用来收集订阅者 Watcher,对监听器 Observer 和 订阅者 Watcher 进行统一管理。


14、v-bind、v-on底层原理
15、有什么实现过自定义指令
16、vue2在不支持object.defineProperty()是如何进行优雅降级的
17、在使用的组件库中常用哪些元素
18、tree目录树组件中,如何进行拖动排序,如何实现????
19、v-for中的key一般使用什么,如果没有唯一的id如何进行
20、在树中没有唯一的,如何使用,进行性能优化
21、重绘是什么,哪些会引起重绘,重绘与重排
22、与后端连掉的流程是怎么样的
23、git协作开发常用指令,一个迭代在开发一个需要紧急修复bug如何实现,

一记爆杀~~~~~~

全部评论
问了这么多,不过我觉得电话面试还好,不是很紧张
1 回复 分享
发布于 2022-10-10 15:36 陕西

相关推荐

04-28 11:34
西北大学 运营
牛客4396号:不好意思,这个照片猛一看像丁真
点赞 评论 收藏
分享
04-29 22:35
门头沟学院 Java
牛友说改了名字能收到offer:旧图新发查看图片
点赞 评论 收藏
分享
评论
3
24
分享

创作者周榜

更多
牛客网
牛客企业服务