220224 | 蚂蚁商家 | Java春招实习
提前批面试 感觉这个面试官对实际项目的要求特别高,问技术之前都会先问在哪有应用过;
问问简历
表扬简历很优秀,询问
自我介绍+深挖实习经历
询问项目过程中沟通对象,技术、产品、运营
是否有第三方/业务方
询问项目经历,队长角色,组队划分成员分类,如何进行项目管理,参加路演及项目答辩
哪个项目收益最大?
深入挖掘实习经历,性能分析如何排查?工具、方法论、把问题最小化、如何解决?
JVM
- 堆和栈本质区别?
???
-
栈内存的操作者?
-
堆和栈分别由谁去分配和释放?
网络
- 从打开url到拉取到信息的整个链路?
DHCP - DNS - ARP
- TCP 三次握手交换了哪些信息?
窗口大小!!!等...
-
TCP、UDP区别?
-
通信IM软件选型?面向套接字编程?
Netty
-
如何理解序列化过程?
-
序列化工具?
protobuf
- 如何设计RPC小工具?
注册中心、服务端、客户端
设计模式
- 单例
双重锁
- 工厂解决了什么样的问题?
解决了new对象简易性的问题
- 策略模式
不同入参选择不同的策略,选择不同的算法,去做不同的事情
-
模板模式
-
在框架/技术原型中对设计模式的应用?
Spring
- 用到的功能?创建对象依赖注入(工厂模式)维护对象(容器)、事务、注解、IOC
数据结构
- concurrentHashMap源码,size()统计是否准确?
size()对16个segment中的相加,若两次计算结果不一致则加锁重新计算
线程池
- 参数列表
corePoolSize maxmiulPoolSize 最大等待时长 工作队列
-
excutors方法源码
-
拒绝策略
-
开源技术中对于线程模型的应用
Tomcat
MySql
- 性能相对于Redis?
Mysql和Redis相比get基本类型速度甚至更快,Mysql也有缓存、解决关系可靠性等问题;
- MVCC
隐藏列 事务id实现
反问
- 项目经历丰富但关注面窄
- SpringBoot
- 自己使用工具时没有考虑过其原理
- 多实践,多关注大的开源技术,其内部如何使用Java基础中的内容
支付宝事业线:
面向商家,给线下任务搬到线上,数字化转型,帮助商家更好的运营