• JAVA后端工程师笔试题-避坑公司


    JAVA后端工程师笔试题

    问题一:java关键字volatile的作用是什么?能保证原子性吗?
    答:防止指令重排,不能保证原子性

    问题二:四种线程池,如何配置线程池的线程数
    答:如果是CPU密集型的 就用CPU核数*2
    如果是IO密集型,CPU/(1-阻塞系统)

    问题三:ConcurrentHashMap 的可以并发读,并发读写,并发写吗?用到的锁机制是什么?该锁的优点和缺点分别是什么?
    答:。可以

    优势:减少资源竞争,避免死锁出现

    分段锁劣势:造成内存开销过多,性能会下降。

    问题四:如果JAVA程序中抛出了java.lang.OutOfMemoryError:Java heap space ,请讲一下解决问题的思路。
    答:先dump快照分析,确定是否内存泄露,然后检查配置参数设置是否合理,检查GC

    二.框架

    spring问题一:简单讲一下spring中aop是如何实现的。
    答: 主业务A类中,辅助业务B切面在Spring项目启动时,A和B会组合成一个新的类C,在C类执行A类中,如果适当时机后,就会调用B类方法。C也就是我们所说的代理类。

    spring问题二:简单讲一下spring MVC中的运行流程:
    答:1.请求到DispatchServlet
    2.通过HandlerMapper获取对应的Mapper
    3.将Hander交给HanderAdapter,返回ModelView
    4.ViewResolver进行视图解析

    spring问题三?: beanFactory与 factoryBean的区别(该问题能基本反映对spring的熟悉程度)
    答:前者是Spring bean的容器接口,交给Spring容器管理。后者是不直接返回 factoryBean本身,而是调用factoryBean和GetObeject方法,返回我们自己定义的对象。

    spring问题四?: 简述三种IOC注入方式
    1.setter注入
    2.构造器注入
    3.注解注入
    原理:IOC是控制反转,正常情况下是A依赖B,所以需要A去实例化B,也就是A控制B的实现。spring提供的IOC是将所有实例交由spring管理,也就是所有对象自主实例化注入到spring容器,谁需要调用的时候去容器里面获取即可。主要解决对象依赖时,对对象管理的麻烦。

    问:简述三种IOC注入方式
    答:1. 通过Spring的getter 和setter方法注入
    2.通过Spring容器提供的实例构造器方法注入
    3.通过实例注解注入依赖

    redis问题五:redis的两种持久化数据的方法是什么?它们分别有什么优缺点?
    答:AOF:优点:适合灾难性恢复,可做到秒级持久化,不容易丢失
    缺点:体积比较大,恢复慢
    RDB:适合冷备份,体积小,可全量复制
    缺点:粒度不够细,不能做到秒级持久化,容易丢失

    mysql问题六:讲述数据库事务的四个隔离等级。讲述一下脏读,不可重复读,幻读。
    答:ACID,原子性A 持久性C 隔离性I 一致性D
    脏读:读到了其他事务修改后未提交的数据(两次数据不一致)
    不可重复读:读到其他事务已提交的修改
    幻读:同一个事务两次读的数据条数不一样

    dubbo问题七:请简单描述一下dubbo的架构?

    题目来源于 垃圾公司,老板pua拖延症严重,面试拖延题多,避开这家惠州思宏科技公司

  • 相关阅读:
    React常见面试题(2024最新版)
    如何使用html、css制作一个期末作业网站【羽毛球体育运动主题html网页设计】
    Linux下安装zookeeper教程
    AWS-数据库迁移工具DMS-场景:单账号跨区域迁移RDS for Mysql
    网页大作业代码自取
    多表操作-外连接查询
    C++编程入门与提高:学习策略与技巧
    SiR-PEG4-NHS ester 硅基罗丹明-四聚乙二醇-活化脂 |SIR荧光探针
    解决Qt 构建项目时报错找不到serialport模块
    跨境电商如何减少客户流失率:成功的5种保留策略
  • 原文地址:https://blog.csdn.net/GTWZeus/article/details/126501083