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!

答案获取方式

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

相关文章
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
1天前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
2天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
18 4
|
1月前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
59 2
|
1月前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
27 0
|
3月前
|
Java C++
【Java基础面试十七】、Java为什么是单继承,为什么不能多继承?
这篇文章讨论了Java单继承的设计原因,指出Java不支持多继承主要是为了避免方法名冲突等混淆问题,尽管Java类不能直接继承多个父类,但可以通过接口和继承链实现类似多继承的效果。
【Java基础面试十七】、Java为什么是单继承,为什么不能多继承?
|
3月前
|
存储 安全 Java
这些年背过的面试题——Java基础及面试题篇
本文是技术人面试系列Java基础及面试题篇,面试中关于Java基础及面试题都需要了解哪些内容?一文带你详细了解,欢迎收藏!
|
3月前
|
XML 存储 JSON
【IO面试题 六】、 除了Java自带的序列化之外,你还了解哪些序列化工具?
除了Java自带的序列化,常见的序列化工具还包括JSON(如jackson、gson、fastjson)、Protobuf、Thrift和Avro,各具特点,适用于不同的应用场景和性能需求。
|
3月前
|
Java
【Java基础面试三十七】、说一说Java的异常机制
这篇文章介绍了Java异常机制的三个主要方面:异常处理(使用try、catch、finally语句)、抛出异常(使用throw和throws关键字)、以及异常跟踪栈(异常传播和程序终止时的栈信息输出)。
|
3月前
|
Java
【Java基础面试三十八】、请介绍Java的异常接口
这篇文章介绍了Java的异常体系结构,主要讲述了Throwable作为异常的顶层父类,以及其子类Error和Exception的区别和处理方式。