站酷Java实习面经
全程大约一小时,45分钟八股文+十分钟写代码+反问
手撕算法:
第一次看错题了,输出的是数字的出现频率
数组中出现次数超过一半的数字
一开始用哈希表做的。秒了
分析下时间空间复杂度。
讲讲如何优化,我说先对数组进行排序,然后快慢指针。
项目部分:
介绍下项目。。。
讲下HBase的整体架构😅
HBase RowKey的设计以及优化
什么是AIO?从专业的角度讲。
什么是NIO,与AIO之间的区别?
Netty的线程模型?
为什么用Redis做消息队列?
如何实现的定时任务?
登录机制为什么使用Spring Security + JWT?JWT的结构。。
验证码功能是怎么实现的?(Java随机数 + Redis缓存)
邮箱功能用到了网络中的什么协议(应用层的SMTP POP3)
然后由此引出Spring相关问题
Spring IOC AOP 简单介绍
什么是循环依赖,怎么解决的?
Bean 的生命周期。
项目中用到了哪些注解,详细说一下它们的作用等
Scope。。(不会)
Java
反射机制,反射的相关API
看你项目说到 序列化 反序列化,简单介绍下怎么用的?遇到过什么问题?
讲下集合类
HashMap深挖,结构 扩容 解决冲突等等。
new HashMap<>(1000) 初始化1000 的情况? 为什么不行?
HashMap是线程安全的吗?那么哪些是线程安全的?
ConcurrentHashMap是如何实现的线程安全,Hashtable又是怎么实现线程安全的?
多线程方面:
sync/lock/volatile
线程状态转换
volatile可以实现原子性吗?不可 那么它能保持什么?(可见性 还有一个有序性没说出来)
线程池7参数 拒绝策略
JVM:
类加载机制
双亲委派
垃圾收集器
计算机网络
OSI七层
TCP/IP四层。以及对各层的解释
TCP在哪一层?其它层可以使用TCP协议吗?
HTTP报文组成
其他常见问题。
数据库
事务隔离级别,详细讲下
脏读 幻读 不可重复读
覆盖索引
给了一个条件让建立索引,忘记了 没答出来。。。
MySQL存储引擎,默认的是哪个?以及InnoDB和MyISAM的区别
Redis
Redis缓存击穿雪崩经典问题,以及如何解决?
数据类型。。以及底层数据结构
缓存淘汰机制
。。。常见八股等等
总结,八股文大概答出了***成,算法也很简单很快就写出来了
但是还是没过。。emo了,Java真是太卷了