SSM是指Spring、Spring MVC和MyBatis三个框架的组合。它们分别负责不同的功能,一起构建一个完整的Java Web应用。
Spring:负责依赖注入(DI)和控制反转(IoC),实现各个组件之间的松耦合。
Spring MVC:负责处理用户请求,实现Model-View-Controller(MVC)模式的Web应用开发。
MyBatis:负责数据持久层的操作,实现对象关系映射(ORM),简化数据库操作。
通过SSM框架组合,可以快速地构建一个可扩展、高性能、易维护的Java Web应用。
中国联通java工程师面试题
请简要介绍一下你的Java项目经验。
应聘者:在校期间,我参与了一个基于SSM框架的仓库管理系统项目,负责后端开发。
面试官:谈谈你对Java多态的理解。
应聘者:Java多态指的是不同对象对同一方法的不同实现,它包括编译时多态和运行时多态。多态实现了代码的可扩展性和复用性。
面试强度比较大,题目比较简单。和互联网差不多。因为应届的身份,多为八股。
这是我最开始面的一个,经验不足,敬请谅解(现在已经倒背如流了)
中国联通java软件开发工程师面试题
说一下什么是反射?
没说出来,忘了
Java中的数据结构
给他说了一下集合里的 单列集合 List :Arraylist LinkList Vector Stack Set : Hashset Treest 双列集合Map:Hashtable Hashmap TreeMap
arraylist 是动态扩容的吗
是的,而且当前元素个数达到容量极限的时候会扩容至原来的 1.5 倍
hashmap 可以 put null进去吗
可以 ,但是put进去的null值是被视为不相等的(面完发现记错了,mysql里是不相等的,Java里是相等的)。现在意识到他想让我说二义性。
hashMap是线程安全吗
不是 安全的话要用concurrenthashmap
线程的生命周期
详细说了那四个阶段(新建-可运行-阻塞、等待、限时等待-死亡)
如何预防死锁
说了一下形成死锁的必要条件,然后解决:破坏不可抢占条件 破坏循环等待条件
Mysql中的锁介绍一下
说了latch: mutex rwlock lock:共享锁排他锁意向锁 record lock gaplock nextkeylock
隔离级别
说了四个隔离级别
springboot有哪些依赖注入方式?
我不会(只知道概念)
bean的生命周期
创建、使用、销毁,细分 实例化、初始化、注册Destruction回调、Bean的正常使用以及Bean的销毁
bean的循环依赖如何解决
三级缓存 解释了下
springboot可以热更新吗?有哪几种热更新的方式?
不会
Autowired和Resource的关系
byType byName顺序,作用域,支持方。说了下具体的
redis数据结构
缓存雪崩 穿透 ?没答的很好。刚开始说成击穿了,然后假装思考了一下说了穿透的定义,解决方法(加校验、存keynull、布隆过滤器,每个都展开说)。雪崩没让说就下一个了。
redis为什么是单线程?
忘记了,但是提到了它性能不吃CPU。
说说分布式锁
忘了,没记。
kafka的数据保存策略?
没见过,不知道咋说?只说了消息存储的五个 零拷贝、磁盘顺序写入、页缓存、系数索引、分区和副本。不知道对不对
gRPC优点?
只说了优点,说他很快,为什么快?gRPC 基于 HTTP/2,相比于 HTTP/1.x,HTTP/2 支持头部压缩、多路复用等特性,可以更有效地利用网络资源,减少延迟。
他问底层会吗?
不会,说只用了几个成熟的RPCs。
JVM调优有哪些方式?
不会。我说根据我见过的项目,JVM都是设定好的,完全没有给人调优的机会和空间,所以没有了解。
讲一下GC?
讲了回收原理,算法,如何识别垃圾-强软弱虚。
GC没有实际应用过还是单纯处于理论层面?
我说了我只改了堆内存大小,因为我做了一些调查了解到的只需要这么改。装了个b,说前两天看的得物和阿里的新技术优化了zookeepper的ZAB(我就看了个皮毛),说我看他们优化了ZAB算法,在GC上最后也只是设置了xms和xmx。
如何保持数据一致性?
回答了双写一致性,延迟双删和canal+rabbitMQ,只让说了延迟双删,没让说canal+rabbitMQ。说了操作方式,为啥删第一次,为啥删第二次,为啥不能只删一次。
Spring Cloud会吗?不会
反问环节,问分布式场景多吗,都哪些
答用的都是最新技术,springcloud之类的,没正面回答
卡壳了,感觉打的不是很好,没好意思问二面要准备啥,就寻求了下锐评:
面试官说我的简历没提现技术能力(我后来看了下国聘上的简历没有专业技能,技术栈一个没漏出来,如果有二面必须让hr给我更新简历)。
脑子转得快,不够深入底层。
面完感觉G了
一共三面,前两轮线上。第一轮一个面试官,第二轮与第三轮群面。问的技术,差不多就是八股文。,涉及到线程、IO、锁、集合、JVM、索引、隔离级别、事务底层等
面试官问的面试题:天津联通java开发面试题
8.INNODB的数据结构
9.多线程
多线程的构造方法
10.线程
Sychronized是如何实现的
11.Mybatis缓存 一级缓存和二级缓存
12.IO 有哪几种方式
13.什么是同步 什么是阻塞 同步和阻塞一样吗 有什么关系, 分别在什么情况下发生
14.数据库隔离级别,他们有什么关系
15.幻读是什么
16.Spring如何加事务,
17.事务注解的底层原理
1.问一些校园经历
2.问从实践中获得了哪些经验,遇到的印象最深的一些问题
3.英文讲述你对你专业的了解
4.英文自我介绍,英文个人爱好
北京联通公司软件开发运营面试题
1.问一些校园经历
2.问从实践中获得了哪些经验,遇到的印象最深的一些问题
3.英文讲述你对你专业的了解
4.英文自我介绍,英文个人爱好
5.对工作地点工作岗位进行选择
(共7条) 广东美的制冷设备有限公司
(共9条) 赛尔网络
(共6条) 深圳软牛科技有限公司
(共6条) 深圳市同行者科技有限公司
(共8条) 长光卫星技术有限公司
(共4条) 上能电气