他终于成功的拿到阿里offer了,用了整整两个月的时间才拿到20

2020-06-02  本文已影响0人  IT领域君

他的个人情况

他是一个普通的双非本科生,开发4年多(Java后端),平时学习也比较勤学好问,对待工作也极度认真负责,对自己进入大厂工作还是很有信心的,他的方向是Java,也知道现在Java的竞争比较激烈,大厂比较难进,为此他也是在很早之前就开始筹备了,时至今日,在内推下他也如愿以偿的成功拿到阿里的offer!

他的面试心得:

虽然天猫,蚂蚁金,菜鸟都归属阿里旗下,但每个面试官问的问题都不一样,相同点主要在流程方面。面试开始会让自我介绍,主要业务架构和技术架构两部分。

比如:技术架构部分,会根据自我介绍中提到的技术点问,是为什么使用这些技术,解决了哪些问题,碰到哪些困难,是如何思考和解决的。

最后再顺带一些技术本身底层的设计方面的问题,例如:有redis,会问哪些场景用,解决了什么问题,数据量有多少,用的过程出现过哪些问题,怎么去定位解决的,还有它的hash原理等,诸如此类的问题。

温馨提示:面试官最喜欢问的方面有mq,jvm,多线程,锁机制等。

不管哪个技术点,能答到面试官无法在这个问题上问下去了,或者能答到计算机硬件上就过了,面试情况如下:

01、技术一面

考察范围:重点问了Java线程锁:synchronized 和ReentrantLock相关的底层实现,线程池的底层实现以及常见的参数,数据结构基本都问了一遍:链表、队列等,Java内存模型:常问的JVM分代模型,以及JDK1.8后的区别

最后还问了JVM相关的调优参数,分布式锁的实现比较

自我介绍

擅长哪方面的技术?

Java有哪些锁种类? (乐观锁&悲观锁、可重入锁&Synchronize等)

比较重要的数据结构,如链表,队列,栈的基本理解及大致实现

J.U.C下的常见类的使用。ThreadPool的深入考察; BlockingQueue的使用

Java内存分代模型,GC算法, JVM常见的启动参数; CMS算法的过程。

volatile关键字有什么用(包括底层原理)

线程池的调优策略

spring cloud的服务注册与发现是怎么设计的?

分布式系统的全局id如何实现

分布式锁的方案,redis和zookeeper哪个个好,如果是集群部署,高并发情况下哪个性能更好。

02、技术二面

考察范围:问了项目相关的技术实现细节,数据库相关:索引、索引底层实现、mysql相关的行锁、表锁等,redis相关:架构设计、数据一致性问题,容器:容器的设计原理等

参与的项目,选一个,技术难度在哪里?

Collections.sort底层排序方式

负载均衡的原理

设计模式与重构,谈谈你对重构的理解

谈谈Redis相关的集群有哪些成熟方案?

再谈谈-致hash算法(redis)?

数据库索引,B +树的特性和建树过程。

mysql相关的行锁,表锁;乐观锁,悲观锁

谈谈多线程和并发工具的使用

讲讲Redis的架构和组件

Redis的数据一致性问题(分布式多节点环境&单机环境)

docker容器

03、技术三面

考察范围:主要谈到了高并发的实现方案以及中间件:redis、rocketmq、kafka等的架构设计思路,最后问了平时怎么提升技术的?

高并发情况下,系统是如何支撑大量的请求的?

接着上面的问题,延伸到了中间件,kafka、 redis、 rocketmq、 mycat等 设计思路和适用场景等

最近上过.上哪些技术站点; 最近在看哪些书。

工作和生活中遇见最大的挑战,怎么去克服?

未来有怎样的打算

04、四面

考察范围:你懂的,主要就是HR走流程了,主要问了未来的职业规划。

结尾:这半年筹备中,我自己也在不断找资料学习,也通过很多渠道和朋友要到一份Java岗最新的学习资料大全

重点给大家推荐,这份资料中的Java岗面试题库,里面都有Java后端以及一些大厂的面试场景和面试题,我也是不断刷题提高自己的眼界

Java岗技术面试题库(5000+面试题)

这套题库里面中包含了以下很多个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM......

想获取这份资料的伙伴们,天+w❤:bjmsb07 即可!

上一篇下一篇

猜你喜欢

热点阅读