前言
自提前批以来遵循海投盲投狂投的原则,投了大大小小好几家公司,其中简历投完没消息的好几家,笔试完没消息的好几家,只剩下几家是勉强进入面试流程能够写下面经的
因为面试过程中,从牛客网中获取了很多面经,因此也想拿点东西回馈牛客。
下面就是我这两三个月来的卑微血泪史 😭
字节跳动-抖音-后端:
我这里准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套大厂面试题(不断更新中),希望大家都能找到心仪的工作!有需要的朋友点击这里备注csdn,自行下载即可
希望对你们有帮助!
2020·07·18 一面:
- 算法题:给定一个没有重复数字的序列,返回其所有可能的全排列,以及时间复杂度,非递归解法
- 问项目(数据库相关)
- MySQL的联合索引的底层实现
- Linux的虚拟内存的概念
- Linux的默认分页大小及原因
- 事务的概念
- MySQL中事务的实现
- MySQL什么时候会用到间隙锁
阿里巴巴-蚂蚁金服-后端
2020-07-21 电话面:
- 题外话:昨天的笔试题你预测自己能过多少,现在写的话能写出来吗
- Spring AOP是什么,Spring是怎么应用AOP的
- 介绍一下拦截器filter和interceptor,其区别是什么
- 介绍一下MVC架构模式,优缺点是什么
怎么样实现一个线程同步的hashmap,如何避免HashMap死锁 - JAVA的堆和栈的区别是什么
- 产生死锁的四个必要条件是什么?什么样的情况下算是死锁
- 数据库的事务隔离级别分别是什么
- 介绍一下Spring的事务同步管理器
- 分别介绍一下悲观锁和乐观锁
- MySQL是如何实现悲观锁的
- JAVA新建一个线程有哪几种方式
- JAVA创建线程池的核心参数是什么
- 在线程数量很多的情况下JAVA线程池的核心参数会发生什么变化
- 你的项目里向外提供的api接口怎么保证其并发性
- 你在项目中(平时的学习里)有没有遇到硬骨头或想放弃的时候,是怎么克服的
小米–南京–后端–实习
这个投实习纯属偶然,不过也就这一次我是通过hr邮箱投递的。成功的进入了面试流程,避免了暑期实习以及正式批秋招时莫名其妙简历被挂的惨剧
2020·07·29 一面
- ArrayList和LinkedList的区别
- ArrayList的源码相关
- LinkedList的源码相关
- HashMap的底层数据结构
- HashMap的并发问题
- ConcurrentHashMap怎么解决HashMap的并发问题
- ConcurrentHashMap加锁是在读时还是写时
- static关键字的作用
- 接口和抽象类的区别
- JVM的内存模型
- JVM中栈的实现
- 栈帧了解吗
- JVM中本地方法栈的作用
- JVM中栈会导致怎么样的内存泄露,分别在什么情况下
- 程序计数器会导致内存溢出吗
- JVM中堆是怎么分区的
- new一个对象是一定存放在堆中吗
- JVM中堆会导致怎么样的内存泄露,分别在什么情况下
- Java如何保证线程安全
- synchronized和ReentrantLock的区别
- synchronized和ReentrantLock的使用,何时释放锁
- volatile关键字
- 介绍一下Spring的IOC和AOP
- Spring AOP的实现
- Spring boot和Spring的区别
- Spring boot自动配置的实现
- 反射中如何调用类的私有方法
- MySQL如何查找性能问题,优化
- 项目如何自动部署的
- 手写快速排序代码
2020·08·03 二面
- 介绍项目
- 数据库索引的最左前缀原则
- 三个关键字的联合索引,最左用了模糊匹配,后两个还能用索引吗
- 删除一个表的数据有什么方法
- truncate和delete的区别,性能上哪个快
- truncate的实现原理
- 内连接和外连接的区别,左外连接和右外连接的区别
- JAVA上熟悉什么内容
- hashmap如何解决冲突
- 解决冲突一共有哪几种方法
- Java类的加载过程
- 为什么要有线程池
- 还有哪些地方用了池化思想
- 什么是死锁
- 介绍一下Synchronized和Lock
- Synchronized的加锁和释放锁的过程(锁粗化等内容)
- 在对象第一次被创建后首先会进入哪个分区
- 在新生代经历了n次major gc后对象会进入哪个分区
- 老年代在什么情况下会进行full gc
- 了解担保机制吗
- osi分层架构和tcp/ip分层架构的区别
- http属于哪一层
- tcp为什么断开连接时是四次挥手而建立连接时是三次握手
- http1.0和http1.1的区别
- 状态码(200,400,401分别是什么)
- Spring事务是怎么实现的
- Spring事务如何手动回滚
- 介绍一下session和cookie
- session的应用
- 算法题:容器盛水问题:给定一个整形数组arr,已知其中所有的值都是非负的,将这个数组看作一个容器,请返回容器能装多少水。
2020·08·05 三面
- 网络的分层模型
- tcp的握手协议
- tcp为什么需要第三次握手
- java申请创建数组时内存空间不够会怎么样
- java数组如何获知需要的空间
- 介绍一下JAVA的集合家族树
- 讲一下栈和队列的应用
- 非递归深度遍历,广度遍历二叉树
- vector为什么是线程安全的
- copyonwritelist为什么是线程安全的
- copyonwritelist有没有可能出现读着指针指向新数组的情况
- set为什么要用map来实现,有什么优缺点
- map有什么线程安全的类
- jvm的内存模型
- 虚拟内存是什么
- 虚拟内存的实质是什么
- Spring bean存放在jvm的哪块内存区域
- Spring bean为什么不会被GC回收
- 创建的bean的线程是哪一个
- java线程的基类是哪一个
- java线程的属性是什么
- 说出三个java的运行时异常
- 说出三个java的error
- 写一个双重校验锁的单例
- 24为什么需要volatile
- 验证一下自己写的单例是对的
最后
最后为大家准备了Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!有需要的朋友点击这里备注csdn,自行下载即可,最后祈愿天下和顺,日月清明。风雨以时,灾厉不起。国丰民安,兵戈无用。崇德兴仁,务修礼让。国无盗贼。无有怨枉。强不凌弱,各得其所。