汇川Java一面面经

准备汇川的Java面试时,总结了一些个人经历和体会,希望对正在准备的同学有所参考。

一、面试流程

我面试的是技术面,整体流程大致如下:

  1. 技术面:这一轮主要考察Java基础、并发、JVM、设计模式和算法能力。面试官会让我描述项目中的技术细节,偶尔会让我现场写小段代码。

整个技术面大约持续了40分钟左右。

全网最全面的java面试八股文专栏:https://www.nowcoder.com/creation/manager/columnDetail/0n9XOd

二、面试题内容

面试过程中,我遇到的题目大致可以分为以下几个方面:

1. Java基础

  • 面试官问了ArrayListLinkedList的区别,我详细讲了底层数据结构、增删性能和内存占用差异。
  • HashMap工作原理及线程安全问题也被问到了,我描述了哈希冲突、链表/红黑树转换以及在多线程下可能出现的问题。
  • 关于面向对象,我简单介绍了封装、继承和多态,并举例说明在项目中如何用单例模式优化性能。
  • 还被问了StringStringBuilderStringBuffer的区别,我结合线程安全和内存开销进行了说明。

2. 并发与多线程

  • 面试官让我说一下线程创建方式,我依次列举了继承Thread、实现Runnable、Callable+Future以及线程池。
  • 对线程安全问题,我讲了synchronized、Lock接口以及原子操作类的应用。
  • 我也讲了常用并发工具类,如CountDownLatchCyclicBarrierSemaphore
  • 线程池参数和应用场景被问到,我分析了核心线程数、最大线程数、队列类型和拒绝策略。

3. JVM与性能优化

  • 我被问到Java内存结构,包括堆、栈、方法区和直接内存。
  • 对垃圾回收机制,我简单介绍了Minor GC、Full GC及常见垃圾收集器。
  • 还涉及类加载机制,我解释了双亲委派模型及类加载器分类。

4. 数据库与SQL

  • 面试官让我写了一些基础SQL语句,也问了事务及隔离级别。
  • 我结合项目经验讲了如何进行SQL优化和索引设计。

5. 项目与算法

  • 面试官根据我的项目经历,问了设计思路和遇到的技术难点。
  • 算法题多为数组、链表和字符串的基础题,也有涉及树和排序的题目。我现场写了链表判断环的算法。

三、面试经验总结

  1. 基础要牢固 面试官最看重的是Java核心知识,包括集合、多线程、JVM和设计模式。
  2. 项目经验要会讲 对自己负责的模块和技术难点,要能清楚说明处理思路和解决方案。
  3. 逻辑和编码能力 面试中会要求现场写代码,要考虑清晰性和边界情况。
  4. 保持思路清晰 遇到不会的问题,我会先分析思路并表达解决方案,而不是沉默。

四、典型问题回顾

在我的面试中,出现过的典型问题包括:

  1. HashMap为什么线程不安全?如何解决?
  2. 说一下Java内存模型及volatile的作用。
  3. 实现一个线程安全的单例模式。
  4. 链表是否有环的判断算法。
  5. 描述项目中遇到的最复杂问题及解决过程。

整体来说,我感受到汇川的Java面试更注重基础扎实和解决问题的能力,面试过程中思路清晰、表达条理清楚是很重要的。

全部评论
接好运
点赞 回复 分享
发布于 2025-10-17 10:22 黑龙江

相关推荐

面试时间:2h流程:笔试+面试,一面完光速拉二面面试官过来。1.索引有哪些类型?(聚蔟 非聚蔟,八股吟唱)2.如何判断哪些字段要加索引?(答的主键要加,有唯一约束的可以加,高频查询的列要加,经常用来order by排序的要加)3.什么情况下索引会不生效?(八股吟唱)4.一张学生表,里面有学生姓名,学生年龄等字段,重点关心学生姓名stu_name,如何查出重名的学生?(我答group by,没答对。)5.有一张学生成绩表,里面有学生姓名,课程名字,课程成绩,比如:张三,语文,80;张三,数学,60;如何查出所有成绩都>=80分的行数据?(兜兜转转后,我答的先用子查询查出,成绩<80分的行数据,并group by分组去重,再用这个子查询的临时表和主表进行比较,找出姓名重名的行数据,截去掉这些数据,得到的就是所有成绩>=80的优秀学生数据。面试官说思路没问题,我猜可能中间有点差错,因为我忘记group by的机制了)6.创建线程的方式有几种(三种,并开始八股吟唱ing)7.笔试里,是对单例模式没有思考吗?(我说笔试写的根本不是单例模式,写的单模板模式,我不敢写就没写,并背诵单例模式思路)8.除了单例模式,你还了解哪些设计模式?(以spring源码为基础,举出里面用到的设计模式,aop的代理模式与策略模式巴拉巴拉)9.如何实现登录的互踢?设备a在登录账户后,设备b也登录账户,需要设备a的账户被踢掉。(这个是我项目经历里的,我用的是redis中存token,同时加上随机值作为唯一标识,新设备登录账户,将同样token前缀的key删除,再把新设备的token存进去,前端隔一段时间检查用户登录状态,这样旧设备被检测token过期,被踢掉。)10.如果我先登录完,然后新开一个页签,我需要再进行登录一次吗?就是说,我的状态还在吗?(在,原因我不清楚,我当时说的因为浏览器做了缓存)11.网关是如何拦截请求,做白名单校验的?(项目经历里的,黑马的那一套,自定义请求拦截器写好白名单,网关拦截请求并对白名单进行匹配,从而判断是放行还是继续拦截做校验)12.非静态方法里能定义静态变量吗?(八股吟唱)-------------------------一面结束,十几分钟后二面面试官带着hr来了。13.遇到不好打交道的人应该怎么做?14.职业规划是啥,考研还是就业。15.说说自己的优缺点。16.讲讲你实习经历里的业务(最让我吐槽的一点,也不说是哪方面业务,不问实习产出,就让我讲一整个项目的业务流程,大哥这是我写了两三个月的项目啊,我从哪跟你讲起)17.对业务流程的一些追问(连拷打都算不上,就是像个用户一样问流程,我能不能提交多次啊?我能不能以个人身份参赛啊?工作流核心逻辑是调的远程接口吗?一个技术名词都没问)18.讲讲笔试题里的算法(hot100的非重复子串的最大长度,abcabc输出3,aaaa输出1)19.写一个你熟悉的排序(只记得二分,所以写的二分)20.反问环节总结:薪资110一天,问的感觉比我面的那些5k的都难,一面全是场景题,二面也不问产出全问业务。而且实习期间不让回学校写毕设,不保证转正,还查户口问我家庭情况。。。位置也偏僻,我过来一趟要两个半小时。看得起这薪资的过不去面试,过得了面试的看不上这薪资,可以去面试检验下自己的八股水平。ps:笔试也很难,一道hot100算法,两道编程题算输出结果,两道还是三道手写sql,其余的是八股题,其中一道还打错字了,单例模式写成单模板模式,boss上hr说笔试面试的淘汰率很高,我只能说难度确实大,但有没有可能别人也在淘汰你呢😂
查看19道真题和解析
点赞 评论 收藏
分享
03-20 10:04
湖南大学
一、Java基础1. HashMap底层原理数组+链表+红黑树,JDK1.8后引入红黑树。初始容量16,负载因子0.75,扩容为原来2倍。线程不安全,多线程推荐使用ConcurrentHashMap。2. ConcurrentHashMap 1.7和1.8区别1.7:Segment分段锁+数组+链表,锁粒度较大。1.8:CAS+synchronized,数组+链表+红黑树,锁粒度更细,性能更高。3. ArrayList和LinkedList区别ArrayList:动态数组,查询快,增删慢。LinkedList:双向链表,查询慢,增删快。4. String、StringBuilder、StringBufferString不可变,线程安全。StringBuilder可变,非线程安全,效率最高。StringBuffer可变,线程安全,效率较低。二、并发编程5. synchronized底层实现修饰方法:ACC_SYNCHRONIZED标识。修饰代码块:monitorenter、monitorexit指令。锁升级流程:无锁→偏向锁→轻量级锁→重量级锁。6. ReentrantLock和synchronized区别ReentrantLock:手动加锁解锁,支持可中断、超时、公平锁。synchronized:自动加锁解锁,使用简单。7. 线程生命周期新建、就绪、运行、阻塞、终止。8. 死锁四个必要条件互斥、请求保持、不可剥夺、循环等待。破坏任一条件即可避免。三、JVM9. JVM内存模型堆、方法区、虚拟机栈、本地方法栈、程序计数器。10. 垃圾回收机制对象存活判断:引用计数法、可达性分析法。回收算法:标记清除、标记复制、标记整理。11. 常见垃圾收集器Serial、ParNew、Parallel Scavenge、CMS、G1。四、计算机基础12. TCP三次握手、四次挥手三次握手:建立可靠连接。四次挥手:断开连接,保证数据传输完成。13. HTTP和HTTPS区别HTTP明文传输,端口80。HTTPS加密传输,端口443,基于SSL/TLS。14. MySQL索引底层B+树,分为聚簇索引和非聚簇索引。遵循最左匹配原则,避免索引失效。15. MySQL事务ACID原子性、一致性、隔离性、持久性。五、项目与场景16. 接口限流方案计数器、漏桶算法、令牌桶算法。17. 分布式锁实现Redis分布式锁、Zookeeper分布式锁。18. Redis缓存问题缓存穿透:布隆过滤器。缓存击穿:互斥锁、热点数据永不过期。缓存雪崩:过期时间随机、集群部署、服务降级。
查看18道真题和解析
点赞 评论 收藏
分享
评论
5
17
分享

创作者周榜

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