公司 数坤科技岗位 后端开发面试问题1. 教育背景与语言选择大学课程是否分方向?主要学习哪些编程语言?为什么选择Java作为求职语言?学习路径是怎样的?2. Java基础集合框架常用集合类型有哪些?ArrayList和LinkedList的区别(底层实现、时间复杂度)?Set的实现类(如HashSet、TreeSet)及其特点?HashMap、ConcurrentHashMap、HashTable的区别?多线程与锁Java中锁的实现(synchronized、ReentrantLock)及区别?线程池的核心参数及执行流程?阻塞队列的类型及潜在问题?JVM与调优垃圾回收机制(新生代、老年代分区,GC算法)?默认堆内存大小如何分配?调优经验(参数设置、工具如jstack、Arthas的使用)?3. 数据库(MySQL)索引类型及失效场景?锁机制(表锁、行锁、间隙锁)及应用场景?如何用MySQL实现分布式锁?4. 框架与中间件Spring源码IOC和AOP的实现原理?依赖注入的方式(构造器、Setter、字段注入)及推荐实践?@Autowired和@Resource的区别?Redis持久化机制(RDB、AOF、混合模式)及优缺点?分布式锁的实现(如SETNX命令)?5. 算法与系统设计手写冒泡排序。类加载机制(双亲委派模型、Tomcat类加载器打破双亲委派)?6. 项目与实习经验项目中是否调整过JVM参数?排查问题的流程?实习中遇到的难点问题(如部署失败、接口逻辑排查)及解决思路?使用消息队列(MQ)的经验?如何保证消息可靠性#软件开发笔面经#