一面:
-
项目里面设计的签名认证算法如何设计的
sk(ak+params+nonce+timestamp)
-
讲讲实习中遇到的最困难事情,你怎么解决的?最后的结果是什么?
-
了解常见的IO模型,谈谈对AIO理解,有没有哪些框架是用过AIO的,有没有了解过它在操作系统级别poll和epoll的方法的区别?
-
聊聊redis基本类型包括底层实现,一致性hash有了解吗?Hash槽有了解吗
-
Mybatis的一级缓存二级缓存了解吗
-
单表数据量特别大的情况下会有查询瓶颈问题怎么解决?分表有哪些方式
-
线上正在运行的系统的如何在不影响用户的情况下进行数据迁移
-
有没有处理过内存泄露的经历?ThreadLocal,怎么排查内存泄露的问题的?
-
JVM内存分区
-
设计题:设计一个多语言系统,页面展示的数据有多个语言版本,如何去存储?要保证B端方便的编辑各个语言的文本
-
为了上面这个系统的提高性能需要加缓存,缓存的方案
-
平时工作中你的想法和领导的想法有差异时怎么去解决这个问题?
二面:
-
对于设计模式怎么理解的?设计模式对于系统性能是有提升的还是有降低的?
-
静态内部类和成员内部类在实例化的时候的区别
-
怎么理解多线程?只有一个CPU核心使用多个线程就一定不能提高效率吗?
-
多线程利用不当会造成除了性能问题还有哪些问题?怎么解决线程安全问题?
-
乐观锁和悲观锁在使用上如何选择?
-
公平锁和非公平锁哪个性能好?
-
讲讲为什么要有分布式锁?分布式锁的设计
-
一个线上运行的积分系统,你需要把A用户的数据和合并到B用户,这个数据迁移到过程怎么加锁,怎么加锁才能避免死锁
-
介绍一下redis部署方式的发展从最简单到最复杂,每一种部署方式存在什么问题
-
redis集群中进行数据分片的方式有哪些?
-
mysql的Innodb怎么做持久化的?为什么要先把脏页放在缓冲池里面在磁盘写redolog,而不直接把脏页写入磁盘
-
一个未提交的事务Innodb能恢复吗
-
消息队列有了解过吗?我说rabbitmq用得比较多,面试官说:好,就没问题了
-
函数式接口
class Test{ Type ff = ()->1; }()->1; 这个代码的含义是什么?
Type可以使用什么类型?这个类型唯一吗?不唯一
那你来实现一个这样的函数式接口(面试官用他的电脑给我写的)
-
一个多线程的问题,这段代码的输出是什么?为什么?
class Test{ public static void main(String[] args){ new Thread(()->{ try { TimeUnit.SECONDS.sleep(1); System.out.println(1); } catch (InterruptedException e) { throw new RuntimeException(e); } }).start(); System.out.println(2); } }