从安卓转到 Java 开发,再到 4 面斩获抖音 offer,盘点自己的晋升经历

最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

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

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

以下主要分享面经和个人学习方法,会包括很多 PDF 文档,如面试题库(含答案+解析)、学习笔记、实战文档和脑图等等,均可以分享

抖音面试场景还原,最真实的面经


抖音第一面:

  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. 寻找旋转排序数组中的最小值

假设按照升序排序的数组在预先未知的某个点上进行了旋转。

( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。

请找出其中最小的元素。

你可以假设数组中不存在重复元素。

示例 1:

输入: [3,4,5,1,2]

输出: 1

示例 2:

输入: [4,5,6,7,0,1,2]

输出: 0

抖音第二面:

  1. 首先还是问项目。

  2. String,StringBuffer,StringBuilder 的区别,为什么 String 是不可变的,StringBuffer 和 StringBuilder 哪个是线程安全的,他们分别适用于什么场景。

  3. java 类加载过程是怎么样的,说一下 volatile。

  4. 并发包了解吗?假如几个线程之间相互等待,可以用哪个并发类来实现,他的原理是什么?

  5. 数据库慢查询优化了解哪些?

  6. 说一下 spring 容器的启动过程?

  7. 讲一下分布式锁,基于 zookeeper 实现和 redis 实现在性能上有什么差异?

  8. kafka 如何保证不丢消息又不会重复消费。了解大数据相关的一些技术吗?

  9. 最后写了道题:跳跃游戏;

给定一个非负整数数组,你最初位于数组的第一个位置。

数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个位置。

示例 1:

输入: [2,3,1,1,4]

输出: true

解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。

示例 2

输入: [3,2,1,0,4]

输出: false

抖音第三面:

  1. 自我介绍

  2. 项目介绍

  3. 怎么管理项目成员

  4. 当意见不一致时,如何沟通并说服开发成员,并举个例子

  5. 怎么保证项目的进度

  6. 数据库的索引原理

  7. 非聚簇索引和聚簇索引

  8. 索引的使用注意事项

  9. 联合索引

  10. 从底层解释最左匹配原则

  11. Mysql 对联合索引有优化么?会自动调整顺序么?哪个版本开始优化?

  12. Redis 的应用

  13. Redis 的持久化的方式和原理

最后

最后,强调几点:

  • 1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的; 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;
  • 2. 和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
  • 3. 注意自己开源的Github项目,面试官可能会挖你的Github项目提问;

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目。

面试答案

三面头条+四面阿里+五面腾讯拿offer分享面经总结,最终入职阿里

三面头条+四面阿里+五面腾讯拿offer分享面经总结,最终入职阿里

三面头条+四面阿里+五面腾讯拿offer分享面经总结,最终入职阿里

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

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

4)]

[外链图片转存中…(img-TEmZBe29-1715498640304)]

[外链图片转存中…(img-I4JJRJLs-1715498640304)]

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

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

  • 13
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值