自学编程找工作!被面试官问的Java问题难倒了

本文深入探讨了GOF设计模式的三大类别及其在项目中的应用,阐述了Spring框架如何巧妙地实现设计模式。同时,文章详细讨论了Java并发编程中的线程安全问题,包括ArrayList与LinkedList的底层实现、HashMap与ConcurrentHashMap的优劣势,以及Synchronized和Lock的选择。面试中还涉及了JVM内存管理、SQL优化和分布式系统设计等多个核心技术领域。

开头

在开始正文之前,请你先思考几个问题:

  • 你项目中有使用哪些 GOF 设计模式

  • 说一说 GOF 23 种设计模式的设计理念

  • 说说 Spring 框架中如何实现设计模式

假设我是面试官问起了你这些面试题,你该如何回答呢,请先思考一分钟。

好的,我们开始进入正题。设计模式实践里面提供了许多经久不衰的解决方案和最佳方案。这里,GOF 设计模式主要分为三大类:创建模式、结构模式和行为模式。创建模式对于创建对象实例非常有用。结构模式通过处理类或对象的组合来作用于企业级应用的设计结构,从而降低了应用的复杂性,提高了应用的可重用性和性能。行为模式的意图是一组对象之间的交互作用,以执行单个对象无法自己执行的任务。它描述了类或对象交互以及职责的分配。

那么,本文的核心话题是 Spring 如何通过使用大量设计模式和良好实践来构建应用程序。

支付宝一面

  1. 介绍一下自己。
  2. 项目参与的核心设计有哪些
  3. ArrayList和LinkedList底层
  4. HashMap及线程安全的ConcurrentHashMap,以及各自优劣势
  5. Java如何实现线程安全
  6. Synchronized和Lock哪个更好?
  7. HashMap中的get()方法是如何实现的?
  8. HashMap可以用在哪些场景?
  9. JVM,垃圾回收机制,内存划分等
  10. SQL优化,常用的索引?
  11. 还有什么问题需要问的。

02 支付宝二面

  1. 没有自我介绍,直接问做过哪些Java开发相关的项目。
  2. 对哪些技术比较熟悉?
  3. 多线程状态图,状态如何流转?
  4. 死锁,死锁原因
  5. 页锁、乐观锁、悲观锁?
  6. 乐观锁如何保证线程安全?
  7. 用过线程池吗,对应的好处,如何用?
  8. 两个10G的文件,里面是一些url,内存只有1G,如何将这两个文件合并,找到相同的url?
  9. 1000个多并发线程,10台机器,每台机器4核的,设计线程池大小。
  10. 代码题:两个有序数组,数组中存在重复数字,合并成一个有序数组,去除重复数字。
  11. 说一下自己的优点。

支付宝三面

  1. jvm性能调优都做了什么
  2. 数据库性能调优如何做
  3. 分布式系统原理:CAP,最终一致性,幂等操作等
  4. 高并发情况下,我们系统是如何支撑大量的请求的
  5. 集群如何同步会话状态
  6. 常用NOSQL,有做过比较?
  7. 什么情况会出现雪崩,以及如何应对?
  8. 负载均衡的原理
  9. 数据库事务属性
  10. 与同事沟通的时候,如果遇到冲突了如何解决?
  11. 工作中觉得哪方面欠缺?
  12. 有问题要问么?
  13. 期望薪水?
  14. 为什么要离开现在的公司?

美团四面

历经30天,说说我的支付宝4面+美团4面+拼多多四面,侥幸全获Offer

美团点评高级Java一面(技术,电话面试,约40分钟)

  1. 自我介绍。
  2. 项目介绍。
  3. 了解过redis源码及redis集群么?
  4. 分布式下redis如何保证线程安全?
  5. Hashmap的原理,源码?
  6. Hashmap增删的情况后端数据结构如何位移?
  7. hashmap容量为什么是2的幂次?
  8. object类你知道的方法?
  9. 你重写过hashcode和equals么,要注意什么?
  10. jvm内存分区,为什么要有新生代和老年代?
  11. 有做个JVM内存优化吗?
  12. 数据库索引 主键和唯一索引有什么区别?
  13. 聚集索引和非聚集索引的区别?
  14. MySQL存储引擎innoDB和MyISAM的区别?
  15. 讲一下稳定的排序算法和不稳定的排序算法?
  16. 讲一下快速排序的思想?

美团点评高级Java二面**(技术,现场面试,约60分钟)**

  1. 几种线程池区别?
  2. aio,nio,bio的了解,NIO的核心概念有哪些?
  3. 常用的NIO框架有哪些,优劣势?
  4. 事务的四大隔离级别?
  5. jvm场景问题, 标记清除多次后老年代产生内存碎片,引起full gc,接下来可能发生什么问题?
  6. MySQL innodb的b+树索引,主键索引,聚簇索引有什么区别?
  7. 数据库四大特性?
  8. MySQL里有哪些锁,行锁表锁,乐观锁呢?
  9. MySQL的死锁怎么产生的,举了两个例子。
  10. dubbo里的zookeeper是做什么的?
  11. 表锁 行锁 乐观锁 悲观锁的特点和区别?
  12. 并发工具包有哪些,具体怎么用?
  13. Docker平时怎么使用的?
  14. Kafka如何解决数据堆积?
  15. kafka消息的存储机制?
  16. 如何用kafka保证消息的有序性?
  17. kafka如何保证并发情况下消息只被消费一次?

美团点评高级Java三面题目**(技术,现场面试,约60分钟)**

  1. 项目介绍。
  2. 最有技术难度的项目,介绍下相关核心设计流程。
  3. 分布式下redis如何保证线程安全?
  4. redis持久化的方式以及区别?
  5. zookeeper如何实现分布式锁、其他分布式锁怎么实现?
  6. kafka的架构,如何用kafka保证消息的有序性?
  7. 数据库的优化包含哪些?MySQL的优化,谈两个你优化的例子。
  8. redis用的哪个版本?
  9. 如何搭建redis集群?
  10. redis如何主从同步?
  11. redis分布式锁注意事项?
  12. redis持久化的方式以及区别?
  13. redis持久化方式及区别?
  14. my sql数据量多大的时候需要分表?
  15. my sql常用的存储引擎及区别?
  16. zookeeper的作用:分布式锁、注册服务中心?
  17. zookeeper如何实现分布式锁、其他分布式锁怎么实现?
  18. 分布式事务的解决方案?
  19. 单点登录怎么实现?
  20. 秒杀系统怎么来实现?
  21. 工作中,遇见了技术瓶颈无法解决,你的解决思路?
  22. 技术选型方面,一个新技术和一个稳定的旧技术,你会如何选择,会考虑哪些因素?

美团点评高级Java四面题目(HR,现场面试,约30分钟)

  1. 自我介绍下。
  2. 自己的优点和缺点。
  3. 为啥想来美团,对美团了解多少?
  4. 心中的互联网公司排序。
  5. 工作中遇见暂时无法解决的问题,你是怎么应对的?
  6. 最近在学什么新技术
  7. 你是通过什么路径与方法,去学习和接触一门新技术的?
  8. 未来的职业规划是什么?

拼多多Java研发岗4面试经过及面试题

历经30天,说说我的支付宝4面+美团4面+拼多多四面,侥幸全获Offer

一面

  1. 线程池由哪些组件组成,有哪些线程池,分别怎么使用,以及拒绝策略有哪些
  2. 写一题算法,层次遍历树并输出每层的层级
  3. 写一道题,二叉树的后序遍历,非递归算法。
  4. 什么时候多线程会发生死锁,写一个例子
  5. 说一说jdk1.8中,对hashMap的优化,对concurrentHashMap的优化
  6. 如何解决hash冲突的,以及如果冲突了,怎么在hash表中找到目标值
  7. 有1000个数据存在hashmap中,实际的数量是多少,考虑负载因子和扩容
  8. 常见的RPC有哪些?对应的区别和性能比较?
  9. 操作系统的用户态和核心态切换条件以及为什么要切换
  10. 线程间的通信方式,异步队列,消息延迟获取

二面

  1. MySQL的主从复制怎么做
  2. MySQL的索引,使用B+树索引的好处
  3. MySQL性能查看以及如何优化
  4. Redis是怎么做缓存的
  5. Redis的持久化操作
  6. 如何利用redis处理热点数据
  7. TCP三次握手的过程,如果没有第三次握手有什么问题。
  8. 分布式锁怎么实现

三面

  1. cap了解么,分别指什么
  2. 网络编程nio和netty相关,netty的线程模型,零拷贝实现
  3. Redis是单线程还是多线程?Redis的分布式集群怎么做?
  4. 分布式消息队列有哪些(Kafka等)?有使用过哪些?具体应用在什么场景?
  5. 负载均衡怎么做的呢,为什么这么做,了解过集群雪崩么。
  6. 谈谈高并发场景下削峰,限流的实现?

四面(HR)

  1. 为什么跳槽?
  2. 期望的薪资是多少?
  3. 如何看待加班问题?
  4. 平时自己是怎么学习技术的,除了Java相关,还会去了解其他什么技术?
  5. 未来几年有什么规划?

最后

文章中涉及到的知识点我都已经整理成了资料,录制了视频供大家下载学习,免费分享,诚意满满,希望可以帮助在这个行业发展的朋友,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我把这些资料,分享出来。相信对于已经工作和遇到技术瓶颈的朋友们,在这份资料中一定都有你需要的内容。

资料免费获取方式:点击这里免费领取Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料

术瓶颈的朋友们,在这份资料中一定都有你需要的内容。**

[外链图片转存中…(img-kYkxFqCW-1624457120154)]

资料免费获取方式:点击这里免费领取Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值