985、211毕业一年,面试八家大厂,四面拿美团offer(Java后端)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 本人三年开发,985硕士,211本科,专业都是软件工程,一直投的是Java后台开发,只投过一次网易的测试,技术不是太牛,但是比较努力。实验室没有项目,so项目经验是0,在去年这个时候看到实验室师兄找工作的艰难,因此开始复习的时间比较早。

自我介绍

本人三年开发,985硕士,211本科,专业都是软件工程,一直投的是Java后台开发,只投过一次网易的测试,技术不是太牛,但是比较努力。实验室没有项目,so项目经验是0,在去年这个时候看到实验室师兄找工作的艰难,因此开始复习的时间比较早。

复习经历写在文末

关于复习最后悔的是leetcode没有刷,有时间一定要刷,有时间一定要刷,有时间一定要刷,对解题思路很有帮助。因为没有项目经验,就在网上找了一个项目,对于项目中的问题一定要很熟,用到的技术不仅要会用,还要理解底层,反正每次都会被问,感觉面试官对什么高并发的东西挺感兴趣的。

我主要是想找成都的公司,但是最开始海投的时候,不管公司在哪里,我都投了,反正投的公司有几十家,我认为多面几家公司可以多增加一点面经。多关注一些技术群,有很多内推信息(很多公司内推可以免笔试,这是很爽的!!),我的前两个offer都是内推的(美团和携程),因为美团是成都的,自己也比较满意,所有后面很多公司的面试都没有去,但是建议还投的时候还是都投,先拿一个心里有底。

排名按面试时间

蚂蚁金服(内推)

面了3面技术,面hr (在池子中泡了3个多月,最后还是gg了)。

一面

这是我秋招的第一次面试,别提多紧张了,声音都在发抖,自我介绍都不知道说什么。。。

  1. 自我介绍(说的很乱)
  2. 序列化的底层怎么实现的
  3. synchronized的底层怎么实现的
  4. tomcat集群怎么保证同步
  5. 了解nosql吗?redis?
  6. 怎么解决项目中超卖的问题
  7. int的范围
  8. 有什么想问的?

二面

清楚的记得二面是在晚上7点左右,刚走到教研室楼下,看见是杭州的电话,顿时激动了,然后一接,果然是阿里,因为下面很吵,我就一口气跑到5楼,然后喘着粗气进行自我介绍。。尴尬

  1. 问了项目中超卖的问题怎么解决
  2. 你熟悉什么数据结构
  3. 说说快排,我说了快拍实现的过程,相当于口述代码,然后问了复杂度
  4. int的范围,我说的是2的-31次方到2的31次方-1,面试官说具体点,我就不知道了
  5. 乐观锁vs悲观锁
  6. gc
  7. concurrenthashmap分段锁的细节
  8. 设计模式怎么分类,每一类都有哪些
  9. 并发包里了解哪些
  10. b树,b+树,b*树
  11. 字节与字符的区别

三面

一二面只隔了2,3天,三面和二面隔了2周,当时一直以为自己挂掉了,接到电话也很突然。

  1. 自我介绍
  2. 项目
  3. 知道哪些服务器?答:JBoss,Apache,weblogic。问:区别?
  4. Java有什么后端技术
  5. springIOC优点
  6. jdk动态代理 vs cglib动态代理,他们底层分别怎么实现的
  7. synchronizedMap知道吗?他和concurrenthashmap分别使用于什么场景?
  8. https过程?公钥能用公钥解吗?在客户端抓包,看到的是加密的还是没加密的?当时乱猜的加密,面试官说不对,是没加密的
  9. 描述一下java线程池。
  10. 怎么保证redis和db中的数据一致
  11. 设计模式怎么用到项目中?
  12. 类加载

hr面

不记得3面和hr面之间间隔多久了,也是晚上6,7点收到的电话。

  1. 自我介绍
  2. 有什么优点?
  3. 有什么缺点?
  4. 项目中遇到的困难?怎么解决
  5. 意向城市 时间已经过去太久了,只记得这么多,可能有些问题不是阿里面试官问的,但都是在面试过程中遇到的,希望能帮到更多的人。

携程(offer)

内推-只有一次视频面。

  1. 链表的定义
  2. 怎么实现链表翻转
  3. 怎么判断链表是否有环
  4. 二叉平衡树,怎么用一维数组存储
  5. 讲讲jvm分区
  6. 讲讲jvm gc
  7. 怎么求数组的最大子序列和
  8. final关键字4种用法
  9. sleep用法
  10. await关键字
  11. 线程池
  12. spring ioc,aop以及其优点
  13. 栈和堆的定义

现在记得的只有这么多了。

美团

成都提前批(收到offer)。

在河畔上看到的内推消息,然后就发了邮件,3、4天后,收到邮件让去公司面试,在天府三街附近。

一面

先给了一个A4纸,上面写满了题,然后就做题。做完题就自我介绍,说项目,问项目里的东西(自己一定要对项目里用的东西很熟,还要明白底层原理,我用了redis,面试官就问了redis怎么实现),然后就问java基础,面了40分钟吧,然后就让我在外面等,过了一会,二面面试官来了。

试卷题目,只记得部分

一、简答题

1.浏览器访问一个网址的时候都有哪些过程(还要了解DNS查找的过程)

2.tcp三次握手,四次分手

3.线程池

4.你了解的设计模式(面试官说什么单例模式就不用说了)

二、编程题

1.二分查找

2.树的中序遍历

三、智力题

给你一个5L和3L桶,水无限多,怎么到出4L

二面

面试官问我觉得一面面的怎么样,我。。。。然后就看我做的试卷,我竟然连二分查找都写错,面试官说不对,然后我改了改就好了,然后面试官就问还有什么可以优化的地方吗?我只说出来一个。。然后又是自我介绍,说项目,问项目,问基础。差不多也是40分钟。

三面

过了几天,收到3面邮,应该是部门boss,也是自我介绍,然后出了两个题。

1)一个n*n的矩阵,按副对角线打印

2)4个瓶盖换1瓶酒,要和150瓶酒,他自己最少多少瓶?然后问了职业规划。感觉有1个小时。

hr面

北京的电面,就随便聊聊。

58现场面试(offer)

两面技术,一面hr,然后就让我回来了。

技术一面

1.自我介绍

2.根据58笔试题,看着问的 服务器之间怎么通信,写了一个链表反转,项目中nginx怎么配置的,什么硬件条件可以实现多线程,什么情况下多线程才能发挥作用,mysql索引底层是什么,b 树和hash应用场景 技术二面 讲项目,什么是乐观锁,以后的规划。

hr面

1.项目流程

2.项目中遇到的问题,怎么解决

3.自己最大的缺点

4.喜欢和什么样的人合作,不喜欢和什么样的人合作

5.了解58吗

6.找工作有区域限制吗?家人支持吗

7.讲了讲学生活动,一个活动怎么组织的

8.有其他公司offer吗?

中兴(一面挂)

所有人在一个大厅里面,很多面试官,每个人两个面试官。

1.自我介绍

2.手撕代码1)怎么写多线程2)1,2,3,4组成的不重复三位数,都用代码写出来

3数据库会不会,我说可以,他问会什么,我说索引,然后让写sql,让我建一个表,我说这种我都是百度的,然后让我写了两个查询

4.问项目

5.会linux吗?答不怎么用,会常用命令

6.愿不愿意转测试,答不愿意,问看不起测试吗?答不是,只是自己喜欢研发

7.意向城市,答成都,只有成都吗?答,嗯

滴滴(二面挂,现场面)

一面

1.一来就手撕代码,给你三个string s1,s2和s3,判断s3能不能由s1和s2组成,s1和s2内部元素相对位置不能变,比如a 和bc,可以组成的有abc bac bca,我写的暴力的,在面试官的指导下改为了动态规划,不过最后还有不对的地方

2.自我介绍

3.hashcode和equals区别

4.实现一个类,要求要放在hashset里

5.你了解哪些设计模式?我说了一些,然后让写了一个单例,我用枚举写了一个,感觉面试官不懂,说再写一个,然后写了一个双重检查的

6.你还有什么要问的?

二面

1.说项目,被批的很惨

2.写了四次分手的图,然后问若客户端和服务器之间,1s会发生5000到6000次短链接,会发生什么问题

3.手撕代码,不断优化,最后应该是对了

4.你有什么问的吗?

招银网络(offer,现场面)

一面

  1. 自我介绍
  2. 问项目
  3. 用过log4j吗?把他输出到数据库用过吗?
  4. 一致性hash,怎么解决hash冲突
  5. 除了写代码,有什么爱好
  6. 怎么保证写的代码出错少
  7. 写自己项目中类的函数声明
  8. 有没有遇到什么有印象的bug

二面

项目,没什么好说的,反正问的很深,被怼死了。

hr面

自我介绍;得过哪些奖;家是哪里;选公司的标准;抗压的能力;父母是做什么的,具体一点;父母对于你找工作的意见。

对开发工作的要求,我本来说的不想做android,后来我问他们公司业务时,听hr的意思就是,如果一个项目用c写,你就用c,如果用c#,你就用c#,如果是ios,你又用iso,具体用什么语言都不确定的,然后我就说我什么都愿意做。。。。就酱。

华为(offer,现场面)

一面

1.自我介绍

2.自己实现一个链表,写了以后也不说对不对

3.说项目,问了很多,还让画框架图

4.写生产者消费者代码,我用的阻塞队列

5.说我不适合研发,让转测试或资料

6.说发的论文的算法

二面

1.自我介绍

2.平时怎么提高自己的编程能力,我说刷题,他问频率,我说不忙的时候一天一次,然后他说既然刷那么多次,怎么笔试成绩还这么低。。。感觉自己给自己挖了一个坑

3.意向城市

4.自己的缺点,怎么改进

5.项目中遇到的最大的困难

6.在课题中遇到的最大困难

7.你们4人合作项目是怎么分工的

8.你有什么想问的

贝贝网

一面

1.自我介绍

2.java同步机制有哪些

3.equals和hashcode区别和联系

4.进程和线程讲讲

5.equals和==区别

5.代码题,没让写,只说了思路,有n个长方形,每个的长宽为x,y,从下往上堆,要求上面的长宽小于下面的长宽,求最多可以堆几层

6.在浏览器输入一个网址到得到页面的过程,越详细越好

二面

1.自我介绍

2.问项目,问的很深,还有什么可以改进的

3.同1面的6题

4.进程vs线程

5.平时怎么学习

6.写sql

hr面

hr和二面在一起,先二面然后hr面

1.你本来不是杭州人,愿意来杭州工作吗?为什么

2.有关注杭州其他企业吗

3.周末平时干什么

4.还有什么问题

面试前我是如何“啃”书复习,刷题提升的

面试前一段时间我不断找资料学习,也通过很多渠道和朋友要到一份美团架构师写的Java面试宝典(284篇)我把美团架构师给我的一份Java面试宝典啃完了,从而还找了Java后端以及一些大厂的面试场景和面试题不断刷题提高自己的眼界

Java核心面试宝典复习知识

答案获取方式

可以点击此处来获取就可以了!

这本Java核心知识把每个知识点解析的很深,对大家应该很有帮助,它把大部分的Java知识集结在一起深入的解析出来(非常建议大伙看一看)

这本文档覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、Redis、数据结构、算法、大数据等大量知识点。

Java部分:Java基础,集合,并发,多线程,JVM,设计模式

数据结构算法:Java算法,数据结构

开源框架部分:Spring,MyBatis,MVC,netty,tomcat

分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等

微服务部分:SpringBoot,SpringCloud,Dubbo,Docker

求来的大厂面试场景(为了学习提升可以没脸没皮,啊哈哈哈)

我针对这些大厂的面经场景也找了很多题刷,对自身的提升也是非常大(还特意要了份面试答案)

面试答案

既然是要面试,那么就少不了刷题,实际上面试前,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

根据自身面试经历整理以及不断收集的(珍藏版)

相关的电子书、底层源码

阿里巴巴面试必备知识想进大厂的朋友们可以获取看看(对面试进大厂帮助很大)

对于大厂面试,我最后想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与offer失之交臂,所以一定要重视起来。另外提醒一点,充分复习,是消除你紧张的心理状态的关键,但你复习充分了,自然面试过程中就要有底气得多。

以上内容中所有的学习资料、面试资料,均可以免费提供,希望大家金三银四面试顺利,拿下自己心仪的offer!

答案获取方式

可以点击此处来获取就可以了!

相关文章
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
71 2
|
22天前
|
Java 程序员
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
小米,29岁程序员,分享了一次面试经历,详细解析了Java中&和&&的区别及应用场景,展示了扎实的基础知识和良好的应变能力,最终成功获得Offer。
54 14
|
1月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
|
1月前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
1月前
|
存储 缓存 Oracle
Java I/O流面试之道
NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。
Java I/O流面试之道
|
27天前
|
Java 编译器 程序员
Java面试高频题:用最优解法算出2乘以8!
本文探讨了面试中一个看似简单的数学问题——如何高效计算2×8。从直接使用乘法、位运算优化、编译器优化、加法实现到大整数场景下的处理,全面解析了不同方法的原理和适用场景,帮助读者深入理解计算效率优化的重要性。
30 6
|
1月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
58 4
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
116 4
|
1月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
71 3
|
1月前
|
小程序 前端开发 算法

热门文章

最新文章

下一篇
DataWorks