0
点赞
收藏
分享

微信扫一扫

java的面试问题,阿里高级java工程师面试题

前言

MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。是一个基于Java的持久层框架。

在国内市场来说,Mybatis的使用率比Hibernate更高,也更加流行。个人认为其流行的主要原因在于:国内绝大部分项目都是面向表结构编程的,Mybatis使用起来更加方便。

Alibaba绝对是国内互联网行业的天花板,很多优秀的开源项目都是阿里大佬分享出来的,因此今天就跟大家分享一份连Alibaba内部都在消化的Mybatis学习笔记,内容不算多,但把重点讲的明明白白,下面一起看一下吧!

美团一面(80min)

(为保证内容纯正,下面的语言是由程序员Y自己整理的,霸哥没有任何改动)

面试主要是从一个系统设计出发,考察基础跟项目架构经验。美团相当重视基础问题(计算机网络、操作系统)

主要是围绕一个系统优化来的,下面就只写中间问的几个点:

1、项目介绍(聊一下自己做的项目,互相了解了一下)

2、redis相关问题

  • redis主要能解决什么问题,聊一下你所知道的?
  • 聊一下redis高可用的相关。主要说一下哨兵集群的流程,包括选举、以及宕机之后的处理方案。cluster集群的工作流程
  • 聊一下redis哈希槽,为什么不用一致性哈希的方案
  • redis为什么这么快
  • redis跟mq的技术选型

3、mysql相关问题

  • mysql的事务隔离级别
  • 面试官描述了一个场景.....这种情况下你怎么优化mysql,说说你优化的流程步骤
  • 你能想到什么优化mysql吞吐量的方案
  • mysql的底层数据结构?索引怎么存储的?

4、rabbitmq

  • rabbitmq的优势,能解决什么问题
  • 说一下rabbitmq怎么保证高可用的?
  • 聊聊镜像队列,怎么运作的?口述下代码??

5、并发编程相关

  • hashmap跟concurrentHashMap

6、接近一个小时的计算机网络基础、操作系统基础

  • 进程、线程
  • http1与http2
  • 网络五层架构,分别是做什么的?
  • TCP、UDP区别,UDP怎么实现可靠性的,在哪一层实现的?
  • TCP的流量控制、拥塞控制
  • 进程调度算法
  • 等等....记不清了,美团贼喜欢问基础,接近一小时

7、JVM相关

  • 类加载、双亲委派
  • 垃圾回收相关?怎么判断?算法?收集器?
  • 内存区域

8、手撸算法题两道

美团二面(70min)

正儿八经的面试了.....

1、再来一个场景,优化mysql,具体步骤,什么命令,怎么操作,比较详细

2、redis分布式锁的作用?什么场景用过?会有什么问题?(原子性的问题、误删锁、误得锁等等)怎么解决这些问题?(面试官提了几个场景,这块聊了半个多小时)

3、详细聊了rabbitmq的工作流程。介绍下rabbitmq的组建,分别有什么类型,具体是怎么用的?口述代码

4、redis高可用

5、聊聊你了解的RPC,dubbo与springcloud?我因为没做过微服务项目,因此,问我,你觉得应该有什么功能,我从springcloud的角度回答的

6、RPC与mq技术选型,说下原因

7、Spring源码,我讲了事务的源码(撸了好几次了,比较熟悉)

8、手撸算法题两道

9、聊实习时间、地点,未来发展

美团三面(5min)

这个5min很关键了↑

HR直接给录用函

谈笑风生....聊薪资,工作地点,还有一些要录入系统的基本信息,留了电话

《一线大厂Java面试真题解析+Java核心总结学习笔记+最新全套讲解视频+实战项目源码》开源

Java开发优秀开源项目:

  • ali1024.coding.net/public/P7/Java/git

  • github.com/spring-projects

最后

很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。

我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。

不管是查缺补漏还是深度学习都能有非常不错的成效,需要的话记得帮忙点个赞支持一下

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

举报

相关推荐

0 条评论