华为|字节|腾讯|京东|网易|滴滴面经分享(6个offer)
本文是一位读者的面经分享。希望这篇文章的内容可以对小伙伴们有帮助!
每个人成功的经历都不可复制, 我们可以借鉴吸收别人的经验为己所用。
另外,把自己上岸的经历分享出来是一件非常棒的事情,我在这里实名为这位读者点个赞👍
个人介绍
目前大三,本科就读于电子科技大学。
我在大一进入学校实验室学习,负责数据收集、日常开发、NLP。用到的技术包括:
- 语言:Java、Python
- 技术:
- 爬虫:协程、异步OI、正则表达式
- 后端:SpringBoot、MyBatis、MySQL
- 前端:HTML、CSS、JavaScript、BootStrap
- 深度学习:Pytorch、Keras
在实验室接触的比较广泛,不过感觉不够深入,于是在大二下开始深入后端技术。
我在大二下开始做了些开源项目并深入Java相关技术,深入学习了: Java核心技术、Java虚拟机、Java并发编程、设计模式、MySQL、Spring、SpringBoot、Mybatis。
在大三上期,11月开始准备Java实习相关事务:
一个月的面试后,陆续拿到了字节,网易、京东、滴滴、腾讯和某区块链公司的6个实习offer。
复习经历
因为之前就深入学习过,所以总的复习时间也不长,大概是一周左右,后面是通过边面试边查漏补缺的方式来补短板。
前两天的复习内容:
Java基础
- 面向对象特性:封装,多态(动态绑定,向上转型),继承
- 泛型,类型擦除
- 反射,原理,优缺点
static,final关键字String,StringBuffer,StringBuilder底层区别- BIO、NIO、AIO
Object类的方法- 自动拆箱和自动装箱
Java集合框架
- List :
ArrayList、LinkedList、Vector、CopyOnWriteArrayList - Set:
HashSet、TreeSet、LinkedHashSet - Queue:
PriorityQueue - Map:
HashMap,TreeMap,LinkedHashMap - fast-fail,fast-safe机制
- 源码分析(底层数据结构,插入、扩容过程)、线程安全。
Java虚拟机
- 类加载机制、双亲委派模式、3种类加载器(
BootStrapClassLoader,ExtensionClassLoader,ApplicationClassLoader) - 运行时内存分区(PC,Java虚拟机栈,本地方法栈,堆,方法区(永久代,元空间))
- JMM:Java内存模型
- 引用计数、可达性分析
- 垃圾回收算法:标记-清除,标记-整理,复制
- 垃圾回收器:比较,区别(Serial,ParNew,Parallel Scavenge ,CMS,G1)Stop The World