面经 - 2024.11.5 vivo 外包
写在前头
本人5年工作经验,普通二本,gap10个月
第一轮
你在项目中使用外键?
回答使用
面试官杠精附体,一本阿里巴巴开发手册背的炉火纯青,气氛紧张下个话题。
阿里巴巴开发手册中提到
【强制】不得使用外键与级联,一切外键概念必须在应用层解决。
说明:以学生和成绩的关系为例,学生表中的student_id是主键,那么成绩表中的student_id则为外键。如果更新学生表中的student_id,同时触发成绩表中的student_id更新,即为级联更新。外键与级联更新适用于单机低并发,不适合分布式、高并发集群;级联更新是强阻塞,存在数据库更新风暴的风险;外键影响数据库的插入速度。
为什么JVM要使用复制算法回收新生代(Young Generation)?
回答:
- 新生代对象生命周期短
- 空间效率和内存碎片问题
复制算法体现在哪?
回答: 两个幸存者区域
复制算法将新生代划分为两个大小相等的区域:From Space 和 To Space。在每次垃圾回收时,JVM会将From Space中存活的对象复制到To Space,然后清空From Space。这样,回收过程通过简单的对象复制而不是复杂的标记和清理,大大减少了内存碎片。
Java中最经典的悲观锁实现
回答: synchronized
synchronized的优化?
回答:锁升级,锁消除
你用过list吗?
回答:用过
什么情况下使用LinkedList而不是ArrayList?
回答: 从底层实现的角度来说这两种list的优劣,基本就是线性表和链表的区别 略
在浏览器输入 www.baidu.com 按下回车之后会发生什么,讲讲你知道的
回答:
- 用户输入URL ,浏览器会尝试解析并确定用户访问的是网页(HTTP/HTTPS)。
- 做dns解析
- 应用层封包 (HTTP协议)
- 传输层封包(TCP协议)
- 网络层封包(IP协议,ARP协议)
- 链路层封包 (数据帧)
- 通过网卡传输出去
- 从局域网出互联网做一次SNAT
- 通过IP协议的目的ip做路由表匹配
- 经过多个路由转发
- 进入百度内网做一次DNAT
- 通过ARP协议找到mac地址
- 三次连接建立握手
- TLS握手 https证书
- 交换数据
- 四次挥手
第二轮
领导面,讲一下自己的项目,然后了解一下工作内容,加班强度大 PUA之类
HR面
外包的hr面也是VIVO本部的HR,牛气的不行,问点东西说自己去官网看,来点正常的行为面试 说了一下期望薪资 结束
重点 : 无下文
6
66