oppo已拿offer

oppo一面:
1、JMM
回答:从缓存一致性答起,volatile,JMM定义,8个原子操作
2、Hashmap与ConcurrentHashmap底层原理
3、MongoDB架构、副本集分片基本概念
4、SpringMVC工作流程
5、懂不懂jmap、jstat、—Xms等
oppo二面:
1、TCP4次挥手以及TIME_WAIT状态作用,如果有大量的TIME_WAIT状态,该怎么办
2、MongoDB数据能否迁移到Mysql
3、闲聊

字节跳动一面:
1、讲一讲Hashtable、Hashmap、ConcurrentHashmap区别
回答:Hashtable与Hashmap区别,底层原理;ConcurrentHashmap底层原理以及与Hashtable区别;要介绍Hashmap扩容时被打断
2、synchronized底层原理
3、http与https区别以及https建立连接的过程
4、如何拦截攻击ip,要求每个ip 60s内只能访问100次(redis限制ip访问次数)
5、spring依赖注入底层原理
回答:利用反射机制。实例化一个类时它通过反射调用类中的set方法将事先保存在Hashmap中的类属性注入,它是在运行期间由spring根据配置文件将其他对象的引用通过组件提供的setter方法进行设定
6、输入一个url登录网站的过程
7、线程池的参数有哪些,使用过程
编程题:给一个字符串,转成int型,要求能够判断非法字符串,判断溢出,小数四舍五入

字节跳动二面:
1、Mysql联合索引,最左匹配原则
2、Mysql的B+树索引了解不?
回答:从B+树的定义、优点以及MyISAM与InnoDB引擎中B+树的区别
3、介绍下红黑树的特点
4、LRU cache的实现原理,没手撸
5、用过redis吗
回答:不太熟
编程:有一个字符串,输出所有合法的ip地址
旋转数组找出target所在下标



多益网络——2019.07.22
1、内存泄漏与内存溢出的区别
2、接口和抽象类的区别
3、讲一讲Java的继承
4、Mysql中char和varchar的区别
5、http与https的区别
6、session与cookie的区别
7、数据库三范式
8、数据库约束有哪些
9、数据库内连接与外连接的区别
编程:二进制中1的个数