京东Java社招面经分享
1、对称加密和非对称加密的优缺点,为什么这么做?
(1)优点:速度快,对称性加密通常在消息发送方需要加密大量数据时使用,算法公开、计算量小、加密速度快、加密效率高。
(2)缺点:在数据传送前,发送方和接收方必须商定好秘钥,然后 使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。
2、RSA浅谈。(RSA加密/解密、弊端、终端命令演示)
3、线程池线程的提交方式和优缺点。
(1)提交方式:有Single Thread Executor、Cached Thread Pool、Fixed Thread Pool、Scheduled Thread Pool和Single Thread Scheduled Pool.
(2)优缺点:
①线程使应用能够更加充分合理的协调利用cpu 、内存、网络、i/o等系统资源。
②线程的创建需要开辟虚拟机栈,本地方法栈、程序计数器等线程私有的内存空间。
③在线程的销毁时需要回收这些系统资源。频繁的创建和销毁线程会浪费大量的系统资源,增加并发编程的风险。
4、在服务器负载过大的时候,如何让新的线程等待或者友好的拒绝服务?
5、Protobuff和msgpack的优缺点还有坑在哪里?
(1)msgpack的序列化速度比protobuf要快一些,但反序列化要比protobuf要慢一些,但总体都接近。
(2)msgpack可以直接序列化类对象,但protobuf需要先写描述映射文件。(.proto)
(3)msgpack支持的基本类型比protobuf支持的要全面些。
(4)protobuf的描述文件无法实现类的继承。
6、对JVM的了解和观测,什么时候进行full gc?
7、MySQL的索引有什么用?都有哪些种索引?
8、Rpc框架设置超时时间的意义是什么?
9、有没有对程序进行优化过,和对数据库进行优化过?
10、平时是怎么学习的,理论有没有实践过。
11、接收mq时如果数据库出现了错误是怎么做的?
12、MySQL有哪些索引?为啥用B+树,其他结构不行么?
13、乐观锁是怎么实现的?
14、平时MySQL指定过加锁方式么?用过乐观锁悲观锁么?
15、Guava缓存除了做缓存还能做什么?和Redis的优缺点。
#京东##Java工程师##社招##面经#