大厂面试回忆录

一、Java基础

1、hashmap的基本原理,内部数据结构,put操作的整体流程,是否线程安全以及为什么?jdk8对hashmap做了哪些优化?
2、String类为什么是不可变的?StringBuilder和StringBuffer的区别,字符串常量池,StringBuffer为什么是线程安全?加号的底层原理
3、反射、accessible,动态***的原理,jdk动态***与cglib的区别与各自的实现原理
4、自动装箱,赋值操作,在内存里面是如何实现的。
5、接口和抽象类的区别
6、concurrenthashmap的原理,内部数据结构,如何提高并发性,jdk8中做了哪些优化。
7、hashset的原理
8、GC原理,分代机制,可达性分析
9、JVM参数有哪几种,如何调优?
10、JMM特性有哪些?
11、什么是跳表?

二、多线程

1、线程有几种状态?之间是如何切换的?
2、volatile的作用(两点),volatile的原理与应用场景。
3、线程安全是什么?如何做到线程安全?怎么判断一个类是不是线程安全?
4、线程同步有几种方式?
5、threadlocal的原理
6、synchronized是如何实现的?
7、sleep和wait的区别
8、线程池有几种?各自的应用场景
9、线程池的原理,主要有几个参数?线程池满了怎么办?
10、Semaphore、countdownlatch、futureTask
11、submit和execute的区别。
12、Future接口的几个主要方法
13、创建线程有几种方式
14、可重入锁是如何实现的

三、数据库

1、mysql索引原理?为什么是B+树?有什么优点?
2、事务隔离级别有哪几种?mysql默认的隔离级别是?脏读、幻读、不可重复读是什么情况?
3、MVCC原理
4、mysql有哪几种锁?
5、mysql的存储引擎有哪几种?区别和各自的适用场景。
6、query ***的配置
7、ACID
8、如何优化慢查询
9、最左前缀匹配原则,原理

四、算法

1、一致性哈希的原理
2、手写二分查找,快速排序
3、手写LRU算法
4、两个链表找交点
5、两个无限长的数字求和
6、手写生产者消费者demo
7、256M内存排序2G大小的文件
8、求数组最大子序列

五、操作系统与计算机网络

1、如何从访问日志中找出量最大的10个ip?awk语句了解吗?
2、jstack,jstat,jmap,jheap命令了解吗,如何使用?
3、系统负载情况如何查看?
4、网络分层协议了解吗?
5、tcp三次握手,四次挥手了解吗?
6、aio,bio,nio的区别
7、select,poll,epoll的区别?
8、io模型有哪些?

六、开源框架与组件

这部分主要根据简历以及项目的实际情况来问。
1、对spring了解吗?ioc,aop,transaction注解
2、spingmvc了解吗?
3、redis与mem***的区别
4、redis持久化策略,rdb与aof的区别与应用场景
5、mem***d的内存是如何分配的?一致性哈希原理
6、mq的原理与应用场景,mq是如何保证不丢消息的?
7、tomcat的原理,主要运用了哪些设计模式?
8、redis与mem***d内存分别是如何回收的?
9、guava的缓存是怎么实现的?

七、场景设计与架构

1、秒杀场景,如何做技术选型?
2、设计一个支持高并发的服务,写出核心代码
3、高并发与高可用如何实现?
4、服务降级怎么做?限流、限速、超时重试、熔断、自恢复、分别如何实现?
5、什么是微服务?有什么好处?为什么要这么做?
6、CAP理论是什么?项目中的哪些场景用到了CAP理论?
7、BASE理论是什么?
8、什么时候应该使用mq?

八、其他

1、平时都通过什么方式学习技术?
2、最近学的一个知识点是什么?
3、对带人有什么经验?
4、最熟悉的一个项目是什么?
5、跳槽的时候,你最看重什么?
6、为什么跳槽?为什么选择我们公司?

#面经#
全部评论
哥,想问一下,您这都看的什么书学的啊。我今年大二下学期,里面的词连听都没有听过啊。😭
点赞 回复
分享
发布于 2018-04-24 18:56
良心!
点赞 回复
分享
发布于 2018-04-24 19:37
滴滴
校招火热招聘中
官网直投

相关推荐

点赞 127 评论
分享
牛客网
牛客企业服务