浙江金网信息有限公司25软件开发

浙江金网信息有限公司25软件开发

半小时左右面试时间,200-250,看学历给钱。

1. 请简述Java的垃圾回收机制(GC),并解释常见的垃圾回收器(如G1、CMS)的区别?

答案: Java的垃圾回收机制通过自动管理内存,主要分为分代收集(新生代、老年代)和垃圾回收算法(标记-清除、复制、标记-整理)。

  • G1(Garbage-First):面向大堆内存,采用Region分区,兼顾低延迟和高吞吐,适合现代多核CPU。
  • CMS(Concurrent Mark-Sweep):以低停顿为目标,采用并发标记-清除,但会产生内存碎片,已逐步被G1取代。

2. 什么是Spring的IoC和AOP?请举例说明应用场景。

答案

  • IoC(控制反转):由Spring容器管理对象依赖关系,如@Autowired自动注入UserService
  • AOP(面向切面编程):通过动态代理实现横切关注点,如日志(@Around)、事务管理(@Transactional)。

3. MySQL的索引有哪些类型?B+树索引为什么适合数据库?

答案

  • 索引类型:主键索引、唯一索引、普通索引、联合索引、全文索引。
  • B+树优势
    • 叶子节点存储数据,非叶子节点仅存键值,减少IO次数。
    • 叶子节点链表结构,适合范围查询(如WHERE id > 100)。

4. 什么是Redis的持久化机制?RDB和AOF有什么区别?

答案

  • RDB(快照):定时全量备份,恢复快但可能丢失数据。
  • AOF(日志):记录写命令,数据更安全但文件较大。 生产环境通常混合使用AOF保证数据安全,RDB用于快速恢复。

5. HTTP和HTTPS的区别?HTTPS如何保证安全性?

答案

  • HTTP:明文传输,端口80。
  • HTTPS:加密传输(SSL/TLS),端口443。 安全性保障
    • 对称加密(AES)传输数据。
    • 非对称加密(RSA)交换密钥。
    • 数字证书验证服务器身份。

6. 什么是CAP理论?分布式系统如何取舍?

答案

  • CAP:一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance)。
  • 取舍
    • CP(如ZooKeeper):强一致性,牺牲可用性。
    • AP(如Eureka):高可用,允许短暂不一致。

7. 进程和线程的区别?Java中如何创建线程?

答案

  • 区别
    • 进程是资源分配单位,线程是CPU调度单位。
    • 进程间内存隔离,线程共享进程内存。
  • 创建方式
    • 继承Thread类。
    • 实现Runnable接口(推荐,避免单继承限制)。

8. 什么是死锁?如何避免死锁?

答案

  • 死锁条件:互斥、占有且等待、不可抢占、循环等待。
  • 避免方法
    • 按固定顺序获取锁(如lock1lock2)。
    • 使用tryLock设置超时。
    • 银行家算法预防。

9. TCP三次握手和四次挥手的过程?为什么需要三次握手?

答案

  • 三次握手(建立连接):
    1. 客户端发SYN=1, seq=x
    2. 服务端回SYN=1, ACK=1, seq=y, ack=x+1
    3. 客户端发ACK=1, ack=y+1目的:防止历史连接请求导致资源浪费。
  • 四次挥手(断开连接):
    1. 客户端发FIN=1
    2. 服务端回ACK=1
    3. 服务端发FIN=1
    4. 客户端回ACK=1(等待2MSL后关闭)。

10. 什么是乐观锁和悲观锁?MySQL中如何实现?

答案

  • 悲观锁:假设并发冲突高,先加锁再操作,如SELECT ... FOR UPDATE
  • 乐观锁:假设冲突少,通过版本号控制,如UPDATE table SET val=1, version=version+1 WHERE id=1 AND version=old_version

11. Spring Boot自动配置原理是什么?

答案

  1. @SpringBootApplication组合了@EnableAutoConfiguration
  2. META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports定义配置类。
  3. 条件注解(如@ConditionalOnClass)决定是否生效。

12. 什么是RESTful API?设计原则是什么?

答案

  • RESTful:基于HTTP协议的API设计风格。
  • 原则
    • 资源化(如/users代替/getUser)。
    • 使用HTTP方法(GET查、POST增、PUT改、DELETE删)。
    • 无状态,返回JSON/XML。

反问,技术栈和业务,主要是做政务领域信息安全方面的,还有就是智慧城市解决方案等等,比较常规八股,然后会问一点项目。

程序员小白条的编程日记:https://xbt.xiaobaitiao.top/ (分享如何拿到腾讯实习 Offer 和多个中大厂的面试机会,大学经历、求职经历、职场工作、创作经历、生活日常、面经、技术分享)定期更新内容,成长打怪系列,分享从大一到大四的完整面经,看完可冲中大厂!dy同名程序员小白条,主要口述面试经历和分享我认为的实用网站,会比面经讲的详细很多,以真实面试录音为主!公粽号:程序员落叶

#秋招笔面试记录#
全部评论

相关推荐

评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务