校招 未知部门 / 后端-Java / 一面

[面试日期] 2024-05-16 [面试时长] 60min
[学校背景] 未知 | 未知 [学历背景] 未知
[发布人] 面试之星官方收录
1. 签名和加密区别 2. 加密一般是怎么做的? 3. rpc的通信超时如何解决? 4. https工作流程,非对称加密使用的算法,ca证书。 5. 聊java内存模型 6. JMM解决了什么问题? 7. 线程不安全从操作系统层面怎么导致的? 8. happens-before规则有哪些?解决的什么问题? 9. 那volatile的happens-before规则是什么? 10. volatile可见性怎么保证的?-从操作系统和读写屏障分析 11. volatile有原子性吗? 12. 64位和32位机器在多线程下需要注意什么? 13. synchronized相比volatile区别?原子性怎么保证的? 14. synchronized的可见性如何保证?-happens-before**锁定规则和monitor指令** 15. juc下的Lock相比于synchronized区别?是如何保证可见性的? 16. 说一下AQS?公平锁和非公平锁实现? 17. AQS框架下的读写锁具体怎么实现的?如何去确定读锁写锁状态?读写,写写互斥和读读共享是怎么实现的? 18. 为什么有了synchronized,还需要Lock?Lock有哪些api是synchronized不能做到的? 19. 还有什么可以保证线程安全的方案? 20. 默认创建的线程池,阻塞队列是无界有界? 21. 线程池线程越多效率越高吗?边界在哪? 22. 如何选择线程池参数? 23. 阻塞队列怎么实现的? 24. 单例模式,局部变量是线程安全的吗?存放在哪?对象可以放在栈帧吗,为什么? 25. bean对象线程安全吗 26. lambda表达式了解吗 27. 数据库索引数据结构
AI 推荐面试题