本文主要是介绍Java开发面试多家公司,斩获字节offer,看完文章吊打面试官,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
复习经历写在文末
关于复习最后悔的是leetcode没有刷,有时间一定要刷,有时间一定要刷,有时间一定要刷,对解题思路很有帮助。因为没有项目经验,就在网上找了一个项目,对于项目中的问题一定要很熟,用到的技术不仅要会用,还要理解底层,反正每次都会被问,感觉面试官对什么高并发的东西挺感兴趣的。
我主要是想找成都的公司,但是最开始海投的时候,不管公司在哪里,我都投了,反正投的公司有几十家,我认为多面几家公司可以多增加一点面经。多关注一些技术群,有很多内推信息(很多公司内推可以免笔试,这是很爽的!!),我的前两个offer都是内推的(美团和携程),因为美团是成都的,自己也比较满意,所有后面很多公司的面试都没有去,但是建议还投的时候还是都投,先拿一个心里有底。
排名按面试时间
蚂蚁金服(内推)
面了3面技术,面hr (在池子中泡了3个多月,最后还是gg了)。
一面
这是我秋招的第一次面试,别提多紧张了,声音都在发抖,自我介绍都不知道说什么。。。
- 自我介绍(说的很乱)
- 序列化的底层怎么实现的
- synchronized的底层怎么实现的
- tomcat集群怎么保证同步
- 了解nosql吗?redis?
- 怎么解决项目中超卖的问题
- int的范围
- 有什么想问的?
二面
清楚的记得二面是在晚上7点左右,刚走到教研室楼下,看见是杭州的电话,顿时激动了,然后一接,果然是阿里,因为下面很吵,我就一口气跑到5楼,然后喘着粗气进行自我介绍。。尴尬
- 问了项目中超卖的问题怎么解决
- 你熟悉什么数据结构
- 说说快排,我说了快拍实现的过程,相当于口述代码,然后问了复杂度
- int的范围,我说的是2的-31次方到2的31次方-1,面试官说具体点,我就不知道了
- 乐观锁vs悲观锁
- gc
- concurrenthashmap分段锁的细节
- 设计模式怎么分类,每一类都有哪些
- 并发包里了解哪些
- b树,b+树,b*树
- 字节与字符的区别
三面
一二面只隔了2,3天,三面和二面隔了2周,当时一直以为自己挂掉了,接到电话也很突然。
- 自我介绍
- 项目
- 知道哪些服务器?答:JBoss,Apache,weblogic。问:区别?
- Java有什么后端技术
- springIOC优点
- jdk动态代理 vs cglib动态代理,他们底层分别怎么实现的
- synchronizedMap知道吗?他和concurrenthashmap分别使用于什么场景?
- https过程?公钥能用公钥解吗?在客户端抓包,看到的是加密的还是没加密的?当时乱猜的加密,面试官说不对,是没加密的
- 描述一下java线程池。
- 怎么保证redis和db中的数据一致
- 设计模式怎么用到项目中?
- 类加载
hr面
不记得3面和hr面之间间隔多久了,也是晚上6,7点收到的电话。
- 自我介绍
- 有什么优点?
- 有什么缺点?
- 项目中遇到的困难?怎么解决
- 意向城市 时间已经过去太久了,只记得这么多,可能有些问题不是阿里面试官问的,但都是在面试过程中遇到的,希望能帮到更多的人。
字节一面
- 面试题(面了一个小时,只记得一 小部分了,不分先后)
- 讲讲项目
- 在浏览器的ur栏里输入一个https的请求会发生什么? balabala.
- 三次握手,close_ wait, time _wait原理
- 内存泄露原因,举例子,怎么排查,OOM异常
- 静态内部类会被编译成几个class?为什么内部类可以访问外部类的private的方法?
- 多线程安全,线程池相关问题
- 集合框架源码,concurrenthashmap, hashmap linkedhashmap实现L _RU
- 为什么需要锁,你知道几种锁,说说AQS,说说CAS
- synchronized原理, jdk6对他的优化,(偏向锁等), JNI, 逃逸分析,对象的markword
- 知道几个设计模式,怎么用,写双重检查锁单例模式
- 算法:手写jdk中的优先级队列 PriorityQueue(最大堆)
字节二面
- 面试题(面了一个小时,只记得一部分了,不分先后) 算法题:
- 介绍自己
- 说说项目,说说你的开源项目
- 剑指offer62:圆圈剩下的数字
- 写一个快排
- 给出一个数组nums, -个值k,找出数组中的两个下标i, j 使得nums[i] + numsj]= k 2种解法,排.数组+双指针o(n遍历或使用HashMap额外存储空间。
- 泛型List<Integer>与List<String>这两个的getClass是否相对? (泛型擦除, 中间还有一个小插曲,面试官问我<? extends String> 有什么作用?我说: String不是不可继承的嘛,被fina|修 饰的。相视而笑)
- 说说你知道的设计模式,说说项目里用到的设计模式,说说策略模式,设计一个下棋的场景问如何结合设计模式使用,设计模式什么时候继承,什么时候委托?
- 说说MySQL Innodb索弓|底层实现,说说join, 说说GroupBy
- 说说抽象类与接口区别?说说从设计模式层面的理解,为什么要有这么2个东西?
- 说说操作系统内存模型不连续空间分配,说说分段,分页,虛拟内存,页淘汰算法...11.说说Redis
- 底层实现,说说他和MySQL的区别
- 说说volatile,说说线程同步,说说JVM线程模型
- 说说动态**,说说你知道的AOP,项目中是怎样使用AOP的?
- 有没有使用过责任链模式?如果..个场景 ,如何选择使用设计模式
- 你还有什么问题?
字节三面(面了一个小时,只记得一部分了,不分先后)
- 自我介绍
- 项目用户量3w+,怎么做到的?如何协调团队?
- 说说项目中如何使用的Redis,如果有10w请求插入Redis,如何优化?
- 说说你理解的线程池
- 说说操作系统组成
- 手撕一个阻塞队列,生产者生产0~ 100的随机数,消费者消费后将其存储到一个list, 需要保持list中元素保持递增。(信号量+线程安全)
- 说说hashmap的resize死循环
- 说说hashtable和hahsmap区别,说说copyOnwriteArrayL ist以及他们分别采用的并发修改当然(fast-fail,fast-safe)
- 说说你的优缺点。
- 说说你对字节的了解? .
字节hr面
- 介绍下自己
- 这个项目3w的用户量如何统计的?如何处理团队问题?
- 为什么想来字节?
- 什么时候来?
- 口头offer
贝贝网
一面
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.还有什么问题
中农银行(offer,现场面)
一面
- 自我介绍
- 问项目
- 用过log4j吗?把他输出到数据库用过吗?
- 一致性hash,怎么解决hash冲突
- 除了写代码,有什么爱好
- 怎么保证写的代码出错少
- 写自己项目中类的函数声明
- 有没有遇到什么有印象的bug
二面
项目,没什么好说的,反正问的很深,被怼死了。
hr面
自我介绍;得过哪些奖;家是哪里;选公司的标准;抗压的能力;父母是做什么的,具体一点;父母对于你找工作的意见。
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失之交臂,所以一定要重视起来。另外提醒一点,充分复习,是消除你紧张的心理状态的关键,但你复习充分了,自然面试过程中就要有底气得多。
这篇关于Java开发面试多家公司,斩获字节offer,看完文章吊打面试官的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!