通过网络招聘软件得到的面试机会。需要到线下进行面试,技术面和人事面在一起,总体的流程比较紧凑,一下午面试了9个人。开始先自我介绍,然后是一些人事问题,比较简单,技术问题偏向基础,不太难。
面试官问的面试题: 1.自我介绍
2.接受出差吗
3.是否接受转语言
4.职业规划
5.接口和抽象类的区别
6.final关键词用在什么地方,表示什么意思
7.java中包的作用
8.实现一个文件的读写操作,你会用哪个包下面的接口和类去实现
9.list set map的关系
10.hashmap和hashtable的区别
11.实现线程的方式
12.反射一般在什么地方运用
13. 泛型有什么优缺点
14.单例模式的实现过程
15.单例模式的本质是什么
16.讲一下工厂模式
17.什么是代理模式
18.讲一下servlet中的一些生命周期方法
19.依赖注入的注解有哪些 resource和aotowired的区别
20.切面编程主要用于什么地方
21.切面编程的通知有哪些?
22.前端js中有哪些原生对象
23.了解过拦截器,监听器,过滤器吗
24.查询数据库中随机10条数据
25.说一下左外链接,右外链接,内连接
26.项目中有运用过存储过程吗
27.介绍一下spring cloud的常用组件,有什么作用
28.讲一下es搜索和poi
29.假如说让你尽快的掌握一门新语言,你怎么快速的去掌握这门语言
30.你掌握的常用算法有哪些,举下例子
31.数据分析的算法有了解过吗
. 自我介绍
时长:1-2分钟
重点:
简要介绍个人背景(学历、工作经验)。
强调与Java相关的技能和项目经验。
提及对目标岗位的兴趣和适配性。
您好,我叫XXX,毕业于XXX大学,主修计算机科学。我有X年的Java开发经验,熟悉Spring、MySQL和多线程编程。在上一家公司,我主要负责XXX系统的开发和优化,提升了系统性能XX%。我对贵公司的XXX岗位非常感兴趣,希望能加入团队
自我介绍
1-2分钟,介绍背景、技能、项目经验。
基础知识
Java基础(面向对象、集合、异常、多线程)。
JVM(内存模型、GC)。
数据库(SQL、索引、事务)。
框架(Spring、Spring Boot、MyBatis)。
代码题
手写算法(排序、链表、二叉树)。
解决实际问题(设计缓存、并发问题)。
一共两面,是实习转正岗位,一面问的基础比较多,八股文面,多线程,jvm相关的问的比较多,总共一小时,最好手撕一道算法,合并两个有序链表,总体面试体验还行
面试官问的面试题: 1. 消息队列
2. threadloacl具体怎么实现,有什么特性 *
3. 乐观锁特征,cas *
4. 什么时候用悲观锁 *
5. 锁的关键字有哪些 *
6. synchnize锁具体实现怎么实现的 *
7. redis特征
8. redis为什么性能高
9. redis集群有哪些
10. 解释一下分片集群
11. 分片集群扩容怎么实现
12. kafka
13. 注册中心nacos,具体怎么实现 *
14. 分布式一致性算法 *(基于哈希环)(影响局部,一个节点挂了,其他的不影响)
15. 分布式共识算法
16. linux网络相关的指令
17. TCP和UDP区别
18. tcp保证可靠性:超时重传,流量控制,拥塞控制
19. AOP概念 (oop面向对象),应用