关于spring:一年六个月十八天从外包到字节跳动客户端提前批没想到我也能够逆袭

37次阅读

共计 2506 个字符,预计需要花费 7 分钟才能阅读完成。

前言

话不多说,但先介绍一下本人还是要的,末流 985 大学本科,自动化方面业余,自学 Java 和后端。
听敌人说字节往年后端投递的人十分多,竞争比拟大,我本科不是 CS,也只是做翻新创业项目的时候接触过 Java 后端,起初看到有说客户端 0 教训的,就让他人帮忙内推了一下,没想到四面过了!!!哈哈哈

分享一下我的面试流程:

一面(45min 左右):

  1. 自我介绍。(我就说了下本人的经验和我的项目)
  2. 问了一下平时怎么学 Java 的,做的我的项目有没有和 Java 无关的。
  3. 过程和线程的区别。
  4. http 申请三次握手,四次挥手。为什么是四次挥手。
  5. https 的工作原理和流程。
  6. 罕用的网络状态码有哪些,50x 是什么类型的谬误。
  7. Java ThreadLocal 的源码,举个理论的利用场景。
  8. java 内存透露的问题,非动态外部类为什么能够拜访到外部类的成员。
  9. 算法题:青蛙跳台阶,有多少种跳法。(起初问了一下我怎么去思考这个算法的,边界条件怎么设计的等

等)

留神:这次面试过程比拟长,内容繁多,在文章中我基本上简述了,文章里的面试题完整版和我集体的总结办法教训(面试学习和刷题笔记),都整顿有 PDF 完整版,有须要的能够关注我的公众号 前程有光 收费分享给你。

二面(60min):

  1. 自我介绍(为什么又让我介绍???可能是不同的面试官吧)
  2. 数据结构和操作系统方面平时有没有学习,感觉本人学的如何。(说是自学的,上了学校的一些课程)
  3. HashMap 的实现原理,Java 1.8 前后的次要区别是什么。
  4. hashCode()和 equles()办法有什么关系,为什么重写了前者必须要重写后者。不重写会有什么问题。
  5. Java 内存模型,内存共享等系列问题。(我认为是问办法区、堆、栈等这种内存划分,后果是指的内存共享方面的问题,面试官等我答完了才跟我说答错了,领导我答复正确的答案)
  6. 线程锁的问题,synchronized 关键字,造成死锁的条件是什么。
  7. 算法题 1:让我写几种生产消费者模型。(我写了三种实现)
  8. 算法题 2:版本号的比照,比方:1.7.93 和 1.8.1 这种。

感觉二面官非常重视 Java 根底,而且问的问题也是由浅入深的,依据你的答复状况来抉择下一个问题。

三面(60min):

  1. Java 类加载的流程,双亲委派机制是什么,它是为了解决什么问题。
  2. Java GC 回收的原理,新生代老年代划分机制。
  3. Java 设计模式学的怎么样,动态代理和动静代理的区别,各有什么劣势。
  4. 手撕三种 Java 单例的写法。最优的写法是什么,为什么?(这道题答得不是很好)
  5. 给定一个长度为 n 的钢条,以及一个价格表 p,p 中列出了每英寸钢条的价格,将长度为 n 的钢条切割为若干短钢条发售,求一个钢条的切割计划,使得收益最大,切割工序没有老本。(《算法导论》上规范的动静布局例题。)算是运气比拟好吧,面试官也没有在算法上特意刁难,问了一道典型的动静布局问题。

感觉三面官是所有面试官里最庄重的,问的问题也更重视根底,思考的更深刻。

四面(HR):

HR 面大略就是问了一下本人的职业倒退方向啊,将来有什么打算啊

面试经验总结

置信大家都很好奇,我是非科班出世,又是前面自学的 java 后端,是怎么一步步从外包走到字节跳动的呢?

留神:下文次要是我集体的总结办法教训(面试学习和刷题笔记),都整顿有 PDF 完整版,有须要的能够关注我的公众号 前程有光 收费分享给你。

1. 本人布局好路线图,学会查漏补缺


把本人的知识点梳理好,根本问题不大

  • 并发编程:多线程,高并发,CAS,锁,容器,线程池底层
  • 性能调优:Mysql,IO 及网络调优,算法调优,JVM
  • Spring 全家桶:Spring,SpringMVC,MyBatis,IOC,AOP
  • 缓存数据库:Redis,mongoDB,MySQL
  • 分布式 & 微服务:SpringBoot,SpringCloud,docker,maven

2. 依据本人布局的路线图,找出本身有余

JMM 内存模型

  • 古代计算机模型基础理论常识
  • 什么是线程 深刻了解 Java 线程
  • JMM Volatile 缓存一致性协定
  • 指令重排、可见性、原子性、程序一致性、happens-beofre 详解 as-if-serial

Mysql 性能调优

  • Mysql 索引数据结构深度解说
  • B+ 树
  • Hash
  • 红黑树
  • Mysql 执行打算与索引解说
  • explain 工具深度应用
  • 索引优化最佳实际

Zookeeper

  • Zookeeper 疾速入门
  • Zookeeper 多节点集群部署实战
  • Zookeeper 典型利用场景实战
  • 服务注册与订阅
  • 分布式配置核心
  • 分布式锁
  • Zookeeper 中 znode、watcher、ACL、客户端 API 详解
  • Zookeeper 客户端服务端源码分析
  • Zookeeper 迁徙、扩容、监控详解

Dubbo

  • Dubbo 企业级利用实际
  • Dubbo 调用模块详解
  • Dubbo 容错机制与高扩展性剖析
  • Dubbo RPC 协定底层原理与实现
  • Dubbo 设计原理剖析与源码详解
  • Dubbo 负载平衡策略剖析
  • Dubbo 管控后盾治理与部署详解

Redis

  • Redis 外围数据结构分析
  • Redis 在微博,微信及电商场景典型利用实际
  • Redis 长久化机制与平安机制详解
  • Redis 主从及哨兵架构详解
  • Redis Cluster 集群架构实战及原理分析
  • 集群数据分片算法及动静程度扩容详解
  • Jedis、Redisson 客户端源码分析
  • Redis 高并发分布式锁实战
  • Redis 缓存穿透,缓存生效,缓存雪崩实战解析
  • Redis 布隆过滤器实现
  • Redis 缓存设计与性能优化

这份面试文档当然不止这些内容,实际上像 Spring Cloud、设计模式、Netty、分布式、数据结构等其余局部的面试内容均有波及,因为文章篇幅,就不全副在这里论述了,须要的能够关注我的公众号 前程有光 收费下载完整版。

写在最初的话

对于大厂面试,我最初想要强调的一点就是心态真的很重要,是决定你在面试过程中施展的要害,若不能失常施展,很可能就因为一个小失误与 offer 失之交臂,所以肯定要器重起来。另外揭示一点,充沛温习,是打消你缓和的心理状态的要害,但你温习充沛了,天然面试过程中就要有底气得多。
再揭示一下,如果你想要学习,却无奈于没有干货学习材料,以上所有的材料内容都能够收费分享给你,关注我的公众号 前程有光 以上所有材料一次性打包带走!

正文完
 0