java程序员面试笔记,10年Java开发经验

前言:

有人说世界上有三个伟大的发明:火,轮子,以及 Kafka。

发展到现在,Apache Kafka 无疑是很成功的,Confluent 公司曾表示世界五百强中有三分之一的企业在使用 Kafka。在流式计算中,Kafka 一般用来缓存数据,例如 Flink 通过消费 Kafka 的数据进行计算。

而要谈对Kafka有多熟悉,我相信还是阿里的大佬们最有发言权,所以今天分享的内容,就是Alibaba内部首发的“限量笔记”,关于Kafka的精髓全部写在这里面了,真是不得不得不感叹:不愧是Alibaba的技术官啊,真的服了!

惊喜!阿里巴巴首发:Kafka“限量笔记”,精髓全写在里面了

一面(电话面+后期在线coding)

①你们为什么要使用mongdoDb?你们的这个系统中涉及到哪些表?

②hytrix 的实现原理是什么?隔离策略有哪些?你们使用的是哪一些?你们项目中哪些地方使用到了,使用场景是什么?为什么要使用?

③spirng 源码。

④rocketMq 的设计理念,数据存储,设计思想等。

⑤ConcurrentHashMap的底层实现原理

⑥你线上问题解决经验是什么?遇到了什么问题?应该怎么去解决?

⑦在线编码: 两个有序链表,合并成一个链表,然后进行算法的时间复杂度,空间复杂度分析。

二面(电话面+后期在线coding)

①tcp协议和uDP 协议的区别是什么?

②3次握手和4次挥手的过程是什么样的?

③怎么保证接口的幂等性?

④mysql的存储引擎的数据结构是什么?相比其余的数据结构,有什么优缺点?

⑤说一下你对SpringCloud,SpringBoot,Spring的理解

⑥java 在编译和运行过程中分别作了什么?

⑦在线编码: 给定一个字符串,单词之间以空格分隔,要求里面的单词倒装过来。

三面(电话面,技术交叉面)

①介绍一下springCloud 的组件,各组件的作用,你们是怎么用,你的理解是什么?

②springCloudbus 关联的消息中间有几种?支持哪几种?你觉的什么场景下,会用到springCLoudBus?

③springCloud里面的限流,限流是怎么内部实现的?怎么去挡住多余的请求,怎么实现限流的(线程池的工作原理)?

④什么时候该用mongoDB,什么时候使用mysql?该如何选择?

⑤你做过的项目数据量有多大呢?如果现在数据量特别大,或者一张表一种放不下了,应该怎么处理?分布分表应该怎么做?具体的某一张表怎么拆?(涉及到主键生成,各种主键生成策略对比,数据分片,以及关联数据的存储,主从复制)

⑥java 官方提供的创建的线程池的方式有几种?分别是什么?

⑦你们使用的java 版本是什么?java最新的版本是多少?你们为什么还在使用java8呢?

⑧你们的垃圾回收器是什么的? 为什么是使用CMS而不是G1? 你能介绍一下像CMS垃圾回收器,从对象创建,内存分配到垃圾回收整个过程吗?

⑨介绍一下策略模式,应该怎么用? 它能解决什么问题?从编码领域系统设计方,介绍一下我们怎么去实现一个策略模式?

学习指南(按照开发经验对程序员进行分层)

0~1年(搬砖):

  • Java基础(基本语法、面向对象、继承、多态、接口和抽象类、异常、内部类、集合、泛型、反射、I/O等)
  • Web编程(Servlet+MySQL数据库+商品管理系统实战)
  • SSM框架入门到精通(Spring+SpringMVC+Mybatis+SSM商品管理系统实战)
  • SpringBoot(SpringBoot+SpringBoot商品管理系统实战)

1~3年(技工):

  • JVM深度进阶(JVM内存区域+JVM运行时内存+垃圾回收与算法+JAVA 四种引用类型+GC分代收集算法 VS 分区收集算法+GC垃圾收集器等)
  • 并发编程深度进阶(并发机制的底层实现原理+内存模型+并发编程基础+锁+并发容器和框架+原子类操作+并发工具类+线程池+实战)
  • MySQL深度进阶(Mysq|存储引擎选型及注意事项+解读Mysq|的共享锁及排它锁+分区+事务隔离级别+索引+Sql优化)
  • 数据结构与算法(Java程序员面试必问)

3~5年(包工头):

  • 分布式消息中间件(Zookpeer+Kafka+MQ+dubbo+SpringCloud等)
  • 数据库(主从复制+读写分离+分库分表)
  • 高效存储(Redis+MongoDB)

5年以上(设计师):

  • 分布式扩展到微服务(SpringBoot+SpringCloudAlibaba+Docker)
  • SSM框架源码解读(Spring高级源码+SpringMVC源码+Mybatis源码)

10年以上(送外卖送快递):

进入饿了么,开始送外卖(开个玩笑)

![](https://upload-images.jianshu.io/upload_images/22932333-e36909a1846b9e75?imageMogr2/auto-orient/strip%7CimageView2/

点击领取2024完整开源项目《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

2/w/1240)

Ending

Tip:由于文章篇幅有限制,下面还有20个关于MySQL的问题,我都复盘整理成一份pdf文档了,后面的内容我就把剩下的问题的目录展示给大家看一下

如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)

吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值