【庆祝1024程序节】分享蚂蚁4面同程艺龙3面,拿到蚂蚁P6 offer

 庆祝1024程序节 百万开源英雄齐聚岳麓 见证开源新时代

前言 

个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!  

本篇分享的面试题内容包括:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈。

有些人总是问为什么要公开大厂的面试题?

原因一:身边从事 Java 开发的人员越来越多,我的表弟表妹们,朋友的表弟表妹们,朋友的朋友的表弟表妹们,每次问我要相同的面试复习材料,已经让我疲于应付,索性整理出来,直接发链接给他们。

原因二:节省招聘双方彼此的时间,有些来公司面试人,无论是有几年工作经验的还是刚毕业的,就连这些最基础的面试题都搞不定,这确实让人很遗憾。常言道“一屋不扫何以扫天下”,也是同样的道理,如果连基础的概念都搞不明白,又怎么让面试官相信你能写出高质量的程序呢?与其浪费彼此的时间,还不如花点时间把自己的基础知识掌握牢固。

原因三:提高 Java 从业人员整体的能力模型,让优秀的人能“冒”出来。有了这些面试题不意味着,死记硬背之后就能进入企业工作,尤其是 BAT 等工作岗位竞争更为激烈,这些面试题只能成为面试体系中的一道“开胃菜”,从而提高了整个 Java 面试的壁垒,让愿与学的人,变的更加优秀,从而和懒惰的人拉开差距,让企业也能更轻易的甄别。

这些面试题包含哪些内容?

这份面试题包含了 19 个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 等。有需要的可以点击这里免费领取哦

如下图所示:

本面试题解决的痛点

  • 稀缺性,提供真实的,覆盖面全的面试集合,包含 200+ 面试题。
  • 权威性,解决了目前市场上答案太旧甚至是错误的问题。
  • 真实性,这份面试题是企业常用的,不会偏离实际。
  • 易理解性,通俗易懂条理清晰,部分面试题包含题目解析和代码示例,让小白也能看的懂。
  • 节约时间,屏蔽无效重复信息,为真正需要面试题的人节省检索时间。

适宜阅读人群

  • 待面试的 初/中/高级 Java 程序员
  • 查漏补缺的人
  • 想要不断完善和扩充自己 Java 技术栈的人
  • Java 面试官

限于篇幅的原因,答案不能完全展示

面试题展示

蚂蚁社招Java岗面经分享

MySQL相关

1、Mysql的技术特点是什么?

2、Heap表是什么?

3、Mysql服务器默认端口是什么?

4、与Oracle相比,Mysql有什么优势?

5、如何区分FLOAT和DOUBLE?

6、如何获取当前的Mysql版本?

7、Mysql中使用什么存储引擎?

8、Mysql驱动程序是什么?

9、主键和候选键有什么样的区别?

10、如何使用Unix shell登录Mysql?

11、你怎么看到为表格定义的所有索引?

12、InnoDB是什么?

RabbitMQ相关

1、什么是rabbitmq?

2、为什么要使用rabbitmq呢?

3、使用rabbitmq的场景。

4、如何确保消息正确地发送至RabbitMQ? 如何确保消息接收方消费了消息?

5、如何避免消息重复投递或重复消费?

6、消息基于什么传输?

7、消息如何分发?

8、消息怎么路由?

9、如何确保消息不丢失?

10、使用RabbitMQ有什么好处?

11、rabbitmq的集群。

12、mq的缺点。

Spring Boot相关

1、Spring Boot、Spring MVC 和 Spring 有什么区别?

2、什么是自动配置?

3、什么是 Spring Boot Stater ?

4、你能否举一个例子来解释更多 Staters 的内容?

5、Spring Boot 还提供了其它的哪些 Starter Project Options?

6、Spring 是如何快速创建产品就绪应用程序的?

7、创建一个 Spring Boot Project 的最简单的方法是什么?

8、为什么Spring Initializr 是创建 Spring Boot Projects 的唯一?

9、为什么我们需要 spring-boot-maven-plugin?

10、如何使用 SpringBoot 自动重装我的应用程序?

11、什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?

12、如何在 Spring Boot 中添加通用的 JS 代码?

【同程艺龙】一年Java经验一、二面面经(已拿offer)

直接上面经内容:

1. 请求响应断链如何解决?请求下单之后,网络断开了,我们这边请求没接收到下单的结果怎么办?
2. 重复出票怎么处理?重复下单怎么处理?
3. 分布式锁如何实现的?redis分布式锁和zk分布式锁有什么区别?
4. redis分布式锁实现的话,setnx和expire命令,如果A线程将expire操作操作到了B线程了,也就是expire了另一个线程的资源,这种怎么避免?
5. 线程池是什么?
6. Future是什么?有什么作用?
7. 线程池核心数是20个,最大线程数是40个,讲一下任务进入线程池的原理逻辑?
8. 线程池阻塞队列有哪几种?
9. 优先队列了解吗?优先队列底层实现机制?
10. 你说下LinkedBlockingQueue底层阻塞的原理是什么?
11. 你说一下ReentrantLock和Synchronize的区别?
12. ReentrantLock和读写锁的区别?
12. AQS里的setState()是什么时候调用?
13. 讲一下锁的升级策略?
14. HTTP和HTTPS的区别?
15. 对称加密和非对称加密有什么区别?HTTPS是用到了那种加密方式?
16. 看你简历说是熟悉JVM,那JVM有哪几种GC算法?
17. 新生代中为什么会有From Survice和To Survice区?
18. 使用CMS垃圾收集器时,遇到大对象比较多导致频繁GC,该如何解决这种情况?
19. GCRoot是什么?哪些对象是GCRoot?
20. MySQL中有哪些索引类型?
21. B+树和B树有什么区别?
22. 联合索引什么情况下会失效?
23. 最左匹配原则是什么?
24. MySQL有哪几种隔离级别?
25. 幻读是什么?RR隔离级别能解决幻读吗?那RR隔离级别是怎么解决幻读的?
26. 你知道间隙锁吗?间隙锁的作用是什么?是怎么解决幻读的?
27. SpringAOP了解吗?有哪几种实现方式?
28. CGLIB什么情况下会失效?
29. 为什么要同时重写equals和hashcode?

总结:其实场景题还是老样子,回答的不好,然后知识点之间细节没拉满,归根结底就是学的不够好,不够扎实。自己离互联网大厂还是有大差距,接下来还需加倍努力提升自己的水平,要拉满细节!!!

========== 分割线 ==========

公司:同程艺龙成都bu

岗位:Java开发工程师 形式:现场面试(二面) 时长:50min

二面

现场部门老大面 是在同程艺龙成都办公地面试的,时间是在周六下午三点,公司周末双休没上班,只有面试官、hr以及前台小姐姐几个人。

  1. 你在项目中学习到了哪些?或者是遇到了哪些困难?怎么解决的?
  2. 如何保证你的调用链路的稳定性?如何保证服务调用链路请求的幂等性?
  3. mq消息的幂等性如何保证?
  4. mq如何保证顺序消费?
  5. 线程池创建有哪几种方式?
  6. 线程池核心参数有哪些?
  7. 线程池中拒绝策略有几种?分别说一下各自的作用?
  8. Redis都用到了哪些场景?除了缓存还有其他场景吗?
  9. 缓存雪崩、穿透、击穿是什么?如何解决?
  10. 对于穿透解决方案给key对应的value对写为null、未知错误、稍后重试时,如何解决当数据库真的有对应数据时,缓存数据没更新导致正式用户请求访问不到缓存?
  11. 你刚刚是讲到了布隆过滤器吗?讲一下布隆过滤器的作用以及底层原理?
  12. 如何保证缓存和数据库数据一致性?
  13. 对实时性要求比较高的缓存如何保证和数据库数据一致性?
  14. 在Redis中常用的数据结构有哪些?
  15. Redis中Hash结构的扩容机制是什么?那你可以讲讲HashMap的扩容机制吗?
  16. Redis中的过期机制有哪几种?底层都是如何实现的?
  17. Redis的部署有哪些方式?
  18. Redis的cluster和Setinel实现原理是什么?
  19. 数据库的查询优化、排查慢sql以及sql优化是怎么进行的?详细点说明下
  20. InnoDB中哈希索引实现机制是什么?
  21. MySQL中唯一索引和聚镞索引相比,性能如何?
  22. 除了常用排序算法,你还会用到什么算法?或者了解什么算法?
  23. Redis中跳表的原理了解吗?
  24. 项目中用过自定义SpringBoot starter吗?starter是如何实现的?
  25. 有没有做过或了解过大批量数据迁移,类似于大批量MySQL数据迁移到ES中的操作?
  26. 分布式事务了解吗?你们项目中都用到了哪些分布式事务?都有哪些优缺点?
  27. 说一下JVM内存模型有哪些?说一下JVM的内存区域?
  28. 在Java中,有哪些包是直接定义在对外内存中的?
  29. 线上做过哪些性能排查以及性能优化的操作?
  30. 了解Java中的happen-before原则吗?
  31. 除了用锁、volatile之外,如何保证一个线程的变量能被另外一个线程的变量给实时读取到?

总结:本次面试在经过面试官的同意后对本次面试进行了录音,方便之后进行面试复盘。从这次复盘的结果来看,此次部门老大面没怎么问简历上的内容,估计是一面里有面试记录,所以一面面的大部分内容都没有再次问到。从这次面试来看,对于一个知识点你理解了和用你自己的语言表述出来是两种不一样的情况!!然后就是自己在Java技术栈的广度和深度都欠缺太多,想进互联网大厂的话还任重道远啊。许愿Offer。

非常幸运,成功上岸拿到了offer,入职之后还需要继续加倍努力,冲鸭!!!

到此这篇关于文章就结束了!

最新整理的Java技术干货文档资料:【Java核心知识点整理】涵盖29个Java核心技术详解,JVM,Redis,Nginx,Spring Boot,Spring Cloud,Kafka,并发编程,Tomcat,MyBatis,BAT面试题,Java技术精讲视频等。转发+关注,有需要的可以点击这里免费领取哦

掌握了这些知识点,面试时在候选人中又可以夺目不少,机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

猜你喜欢

转载自blog.csdn.net/SQY0809/article/details/109243201