2024年4月的面试经历:阿里4面+字节4面(均拿Offer)面试复盘分享(1)

最后

作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料


本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

这是我金九银十收到的第五个Offer:字节跳动Java研发岗

面经分享:

=====

(面试次数有点多,着重讲述几次经典面试。)

阿里面经分享:

阿里一面:

  1. 做一下自我介绍吧,简单说一下你的项目;

  2. 有遇到过内存泄漏吗?你们是怎么解决的?

  3. java的基本类型有哪几个?String是不是java的基本类型?String为什么要是final类型的?

  4. 反射机制的底层实现是什么?动态呢?动态的实现原理?

  5. hashmap了解吗?说一下hashmap相关的一些东西?hashmap是线程安全的吗?为什么是线程安全的?

  6. concureenthashmap了解吗?他是如何实现线程安全的?

  7. 你刚才说1.8基于cas?cas的ABA问题怎么解决?

  8. 说一下JVM的线程模型?这些区域都分别是干啥用的?

  9. 说一下java类加载器的工作机制?类加载在哪个区域进行的?

  10. 说一下java的线程模型?

  11. violate了解吗?它的原理是什么?violate是线程安全的吗?

  12. 保证线程安全的解决方法有哪些?说一说读写锁吧,读写锁的读

  13. 数据库的索引有哪几种?为什么要用B+树来做索引?组合索引和几个单个的索引有什么区别?数据库的大表查询优化了解吗?MVCC机制了解不?MVCC机制有什么问题?怎么去解决这个问题?mysql慢语句调优做过吗?说说你是怎么做的?

  14. redis了解吗?你说说怎么用redis实现分布式锁?

  15. spring中Bean的作用域,springMVC的controller是线程安全的吗?怎么去保证线程安全呢?

  16. 消息队列有用过吗?说说你怎么用的?

  17. 计算机网络了解吗?说一说TCP三次握手和四次挥手吧

  18. time_wait状态产生的原因是什么?,有什么危害?可以如何避免?

  19. 寻找旋转排序数组中的最小值

阿里二面:

1、手撕算法

  • 10个多线程保证 i从0加到10 (差点翻车,主线程忙等另外10个线程完结

  • 反转链表

  • 上台阶(n=80)

2、操作系统

  • 常用的linux命令说一下

  • 操作系统中的信号 和 信号量有什么关系

  • epoll 和 Selector 有什么区别?

3、计算机网络

  • 说一下拥塞控制

4、数据结构

  • 说一下红黑树,你平时用的技术哪里用到了它?

  • 哈希表怎么处理冲突?

5、项目相关

  • 把项目放到服务器上运行的时候有没有遇到什么问题?查看项目运行的状态怎么做?

  • spring 和 springboot的关系你是怎么理解的?

  • Spring IOC和AOP说一下你的理解

  • 为什么用消息队列?

  • 对于消息的重复消费你有什么设计方案吗?

阿里三面:

  • 你怎么学的Java啊?

  • 设计模式了解吗?单例讲一下,懒汉饿汉double-check,怎么实现。策略模式,外观模式,适配器模式,装饰器模式,分别讲一下

  • 联合索引什么时候不会触发索引?

  • AOP了解么,有什么好处,如何使用,怎么实现的?

  • 支付宝到银行的转账业务怎么实现?

  • redis实现分布式锁

  • 三台机器集群,按不同权重访问,怎么做?

阿里四面(hr):

  • 先介绍一下你自己吧

  • 说一下四种IO模型

  • 平时怎么去学习的?

  • 为什么你说学习了要去实践?

  • 说一下的最大的优点和缺点

  • 举一下你缺点的例子

  • 想象一下你几十年后是怎样的生活?

  • 你觉得最痛苦的一段时间

  • 对你影响最大的一件事情

  • 在安排活动的过程中有没有发生什么冲突?

  • 你有什么崇拜的人吗?

  • 你有什么想问的?

这是我金九银十收到的第五个Offer:字节跳动Java研发岗

美团面经答案整理

字节面经:

=====

字节跳动一面:

  • 实习项目就聊了差不多30分钟

  • 问了MySQL的索引

  • redis的string类型

  • 为什么使用RabbitMQ?

  • RabbitMQ有哪些部件?如何保证准确性跟一致性?

  • hashcode和equals?

  • 动态代理

  • 快排

  • 无序数组计算每个位置大于前面的多少个数字(归并排序)

字节跳动二面:

  • 谈谈项目?

  • mongodb底层原理或者数据结构是什么,务处理,插入和mysq有什么区别,为什么会慢

  • 如载过程(Java) ,每一步做了什么

  • 子类和父类的实例变量和方法有什么区别

  • 重载和覆盖区别,返回值类型不同,可以重载吗,为什么,底层如何实现的

  • java多线程,状态图,画出来,阻塞的状态有哪几种,运行顺序,多线程的一些方法

  • java泛型

  • ThreadLocal, Concurrent 下面的包,原理是什么,

  • AtomicInteger,原理是什么,如何做到高效率的,有什么优化措施

  • 悲观锁和乐观锁

  • @Transaction的原理,还有比如在一个类中两个方法, -个是B方法,-个是C方法, B. 上没有注解,C上

  • 有那么在外面调用B**有事务,为什么,根据底层原理能不能推断出来(给提示问你能不能推断出来)

  • 查询学生成绩不及格的所有人的姓名和编号,根据这个语句,如何建立索引,为什么,

  • mysq底层是什么,为什么效率高,主键能不能太大,为什么,如果太大,底层数据结构会不会变化,为什么

  • linux查询tcp连接处理CLOSE_ WAIT的状态的数目

  • 了不了解RabbitMQ, kafka, RocketMQ, ActiveMQ, 以及其他消息中间件

  • redis为什么效率高,线程,数据结构,网络模型,aio, nio, bio, 为什么这么设计?如何处理高并发

字节跳动三面:

  • 数据仓库,雪花模型和星型模型区别和用处,数据仓库的过程(分层) ,如何设计

  • 数据仓库和数据湖的区别

  • 分布系统的设计,分布式系统CAP,分布式系统的模型

  • linux环境下的线上业务管理有没有,如何管理

  • redis的集合有没有限制,限制是多少

  • redis的1w条的插入和更新有什么区别

  • mysql join的底层原理是什么,有哪几种(不是左右连接这种)

  • linux命令查询一个文件内出现重复最多的数字的

  • linux命令查询一个文件的行数

字节跳动HR:

  • 自我介绍,对公司面试的评价,实习时间

  • 为什么转专业?

  • 你认为你有什么优点?有什么缺点?有什么兴趣爱好?

  • 在团队中习惯充当什么样的角色?

  • 遇到过比较困难的事情是什么?觉得自己很幸运的事情是什么?

  • 对于未来的规划?有没有使用过公司的其他产品?有没有转正想法?

  • 你还有什么想问的?

更多面经分享

======

以下面经就不具体详说,大致方向都差不多。

京东物流

====

  1. java特点描述一下,继承封装多态分别是什么意思

  2. synchronized和lock区别

  3. ConcurrentHashMap线程安全怎么实现的

  4. 创建线程的几种方式,创建线程池几个参数的含义,线程饱和策略

  5. sleep和wait区别

  6. spring是单例还是多例,多线程并发会出现什么问题

  7. SpringBoot如何解决跨域,具体怎么配置

  8. 全局异常捕获怎么做的

  9. SpringSecurity的前后端分离,登录怎么做的 我:拦截登录的url,然后获取到用户名和密码,把这个用户名和密码交给manager,manager会交给具体的provider处理,provider会调用UserDetailsService的方法完成验证。 这里是我失误了,他说用户名和密码时通过getattribute 获取到的吗,我说是的。

  10. 怎么设计一个安全的对外接口

  11. 单线程的redis为什么这么快

  12. redis持久化方式

  13. 什么是聚簇索引,什么是非聚簇索引

  14. mysql事务隔离级别

  15. 你觉得你能承担独立开发的任务吗

开通金融

====

做互联网金融的,公司总部在北京,我面试的时候是在成都的新网银行公司,看这个模式应该就是驻场开发了,但是公司本身不是外包。

  1. springboot和spring的不同

  2. springboot特性,自动装配怎么实现的

  3. spring用到哪些组件,具体场景

  4. spring默认是单例还是多例,全局变量会有什么问题

  5. spring事务传播行为、隔离级别

  6. aop实现方式,jdk动态代理和cglib动态代理区别

  7. jdk lambda表达式几种使用方式,取最大和最小值,list转map,list中有重复的怎么办

  8. 线程池 有哪些参数,各个参数的意义

  9. ioc容器有什么优点

  10. jvm 堆栈,区别,线程共享还是线程私有的

  11. springcloud组件、用途,负载均衡的几种算法

  12. 分布式事务怎么做的

  13. mybatis一对多,多对多怎么做

  14. jpa和mybatis区别

  15. vmstat命令干嘛的

  16. redis查看内存占用命令

  17. mysql导入大量数据怎么优化

  18. mysql有一条数据死锁了,怎么排查问题,mysql表死锁,怎么排查

  19. nginx反向代理是什么,正向代理呢

Java面试核心知识点笔记

其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

Java中高级面试高频考点整理

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

最后分享Java进阶学习及面试必备的视频教学

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

keeper、数据库、数据结构等大量知识点。

[外链图片转存中…(img-Sc5xIbEO-1715771124303)]

Java中高级面试高频考点整理

[外链图片转存中…(img-E5KyBARa-1715771124303)]

[外链图片转存中…(img-hhUPpgQR-1715771124304)]

最后分享Java进阶学习及面试必备的视频教学

[外链图片转存中…(img-tcwaFOyA-1715771124304)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值