当前位置:网站首页>面经汇总-社招-6年
面经汇总-社招-6年
2022-08-05 11:51:00 【胡宇乔】
本文列出了别人面经各个重难点,还有自己不会的地方,暂时没学到的:Netty就跳过了
感觉面试核心宝贵点都是在项目介绍,而不同人项目不一样,还是得多看别人项目,面经里面的非项目都只能算是基础或者中级知识。
参考链接:https://mp.weixin.qq.com/s/eqJ4mKdS69ADOCoB4035Fg
1.丰疆智能
ArrayList 的扩容机制:
初始化创建不会定义长度,第一次调用add定义为10,后续扩容为原来1.5倍HashMap 什么场景下是线程不安全的?会导致什么后果?
jdk1.8之后put采用尾插法,多线程下数据会覆盖当核心线程数未满,继续提交任务,是复用已经空闲的线程还是继续创建?
继续创建,一方面是为了线程预热,核心线程个数本身就是配置好的最优值,另一方面复用之前线程是有争抢资源锁开销的。AQS 了解?里面都有哪些属性?AQS 有几种模式?你对 AQS 还有哪些理解?
State,CLH。独占和共享(…见尚硅谷-JUC-AQS篇)JVM 的内存模型?哪个区域不会发生 OOM?
[外链图片转存中…(img-srtbGtA0-1659345030120)]
2.西安移动研究院
包装类是深拷贝还是浅拷贝?
深拷贝。深拷贝:复制一份全新过来。浅拷贝:只复制指针引用,修改后就改了原先的值,Integer包装类底层final int ,就是深拷贝Redis 的 key 删除策略?
3种。定期删除(定时扫描),定时删除(过期时间到了就删除),惰性删除(不处理,用到了再判断是否删除)写代码时常见的内存泄漏?
- 长生命周期引用修饰短生命周期引用:static 引用 = 局部变量
- 数据库、文件IO、socket连接后没有关闭断开
- set集合添加对象后又修改该对象属性再次添加(修改属性就是修改hashcode)后。重复添加后原对象hashcode变更,添加进去一个新的引用对象,就会造成内存泄漏(…见尚硅谷-JVM-内存泄漏的8种情况)
线程 A 中创建线程 B,线程 B 如何捕获线程 A 的异常?
- 子线程中定义一个线程,设置setUncaughtExceptionHandler。(网上找代码实验即可)
有哪些让线程阻塞的方法?有哪些类使用了 LockSupport?(这个问题问的真的好)
- Object->wait,notify
- Condition->await,signal
- LockSupport->park,unpark。(AQS底层就是靠LockSupport阻塞线程,而AQS上层实现就是ReentreenLock.lock, Future.get, CompletableFuture.get等这些,它们底层代码都显式用到了LockSupport.park)
泛型中 Extends 和 Super 关键字的区别?在 put 操作多时用哪种,为什么?在 get 操作多时用哪种,为什么
- <? extends T>是上界通配符,包含T和T子类,只能取数据,不能读
- <? super T>是下界通配符,包含T和T超类,只能存数据,不能取
SpringBoot 自动装配原理?
- SpringBoot启动会自动加载各个配置类,然后按需加载组件(具体见尚硅谷-SpringBoot-自动装配,之前学习跳过了,后面学一下)
3.西安卓派
- Spring 中的 ApplicationEvent 使用过?
- 事件监听,由于暂时没用到就没学。(尚硅谷-Spring注解驱动有讲到)
- DDD 了解?是否知道其中的术语?
- domain-driven design领域驱动设计:就是把一个大型需求拆成一个个问题域,问题域下面拆成对象,然后考虑各个问题域之间的调用和协作。是相较于面向过程编程、面向对象编程的进化版参考链接:https://wenku.baidu.com/view/ea44f92393c69ec3d5bbfd0a79563c1ec4dad74e.html
- HTTP 协议的无状态你怎么理解?无状态有啥好处和坏处?
- HTTP协议就是无状态,指的是服务器不知道客户端状态,2次不同请求服务器,服务器认为2次请求没有任何关系。
- 相反,有状态就是cookie这种,好处当然就是节省资源,坏处就是服务器无法记录用户,可能会被恶意频繁请求攻击这种
4. 西安腾讯云
真不愧是腾讯啊,太难了。
- 谈谈什么是零拷贝?
- 减少CPU复制次数。kafka(kafka速度快原因之一:系统瓶颈是网络IO,而0拷贝就是减少内存拷贝次数)底层就是0拷贝。参考博客:https://blog.csdn.net/shenchaohao12321/article/details/115464117
- 感觉还是挺重要的,只学了个皮毛,后面专门出一章学习下。
- 一共有几种 IO 模型?NIO 和多路复用的区别?
- 后面再补一下,IO这一块确实太虚了。
- 参考链接:https://blog.csdn.net/lzb348110175/article/details/98941378
- TCP 怎么实现拥塞控制?怎么实现重传(说了思路不过具体的实现回答的不准确)?
- 慢开始,拥塞避免,快重传,快回复(难受啊,大学学的408都忘了好多了,做的笔记也不在了)
- 参考链接:https://blog.csdn.net/qq_46312987/article/details/124061775
5. 翼支付
- HashMap 如何减少 hash 碰撞;
- 线性探测法:一个地方冲突,就线性顺序往后找。ThreadLocal就是这种办法
- 链式寻址法:冲突的话就往链表后面加。HashMap, HashTable
- 再Hash:hash之后hash
- 公共溢出区:hash表分成基本表和溢出表,冲突元素放到溢出表中
- Redis 热 Key 如何解决
- 热Key就是多个请求访问Redis上同一个key,弄成集群方式
边栏推荐
猜你喜欢
随机推荐
163_技巧_Power BI 一键批量建立自定义字段参数
789. 数的范围
Go 语言快速入门指南: 基本类型
JS 从零手写实现一个call、apply方法
Cesium.js 三维土壤地质剖面分割挖掘
796. 子矩阵的和
Cesium.js点线面绘制
平安萌娃卡保险怎么样?让父母读懂几个识别产品的方法
5G NR system messages
花的含义
查询优化(TTFB过长)left join索引未生效
UDP communication
EOS的共识机制与区块生成
对于聚合物聚乙二醇PEG大家了解多少了?以及在生活中的应用
797. 差分
力扣330 按要求补齐数组(贪心)
The training set Loss converges, but the test set Loss oscillates violently?
623. 在二叉树中增加一行 : 简单二叉树遍历运用题
祝所有码农七夕快乐~
How about Ping An Mengwa Card Insurance?Let parents read a few ways to identify products









