本文是一位读者的面经分享(最终选择了腾讯),封面为读者本人。我对文章进了重新排版。

每个人成功的经历都不可复制, 我们可以借鉴吸收别人的经验为己所用。非常希望这篇文章的内容可以对小伙伴们有帮助!

另外,把自己上岸的经历分享出来是一件非常棒的事情,我在这里实名为这位读者点个赞

个人介绍

目前大三,本科就读于电子科技大学。

我在大一进入学校实验室学习,负责数据收集、日常开发、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
  • 强、软、弱、虚引用
  • 内存溢出、内存泄漏排查
  • JVM 调优,常用命令

Java 并发

  • 三种线程初始化方法(Thread、Callable,Runnable)区别
  • 线程池(ThreadPoolExecutor,7 大参数,原理,四种拒绝策略,四个变型:Fixed,Single,Cached,Scheduled)Synchronized:使用:方法(静态,一般方法),代码块(this,ClassName.class)1.6 优化:锁粗化,锁消除,自适应自旋锁,偏向锁,轻量级锁锁升级的过程和细节:无锁->偏向锁->轻量级锁->重量级锁(不可逆)重量级锁的原理(monitor对象,monitorenter,monitorexit)ReentrantLock:和Synchronized区别?(公平锁、非公平锁、可中断锁....)、原理、用法有界、无界任务队列,手写BlockingQueue。乐观锁:CAS(优缺点,ABA 问题,DCAS)悲观锁:ThreadLocal :底层数据结构:ThreadLocalMap、原理、应用场景。Atomic 类(原理,应用场景)AQS:原理、Semaphore、CountDownLatch、CyclicBarrierVolatile:原理:有序性,可见性第三天的复习内容:

MySQL

  • 架构:Server 层,引擎层(缓存,连接器,分析器,优化器,处理器)
  • 引擎:InnoDB,MyISAM,Memory 区别
  • 聚簇索引,非聚簇索引区别(从二叉平衡搜索树复习(AVL,红黑树)到 B 树,最后 B+树)
  • MySQL、SQL 优化方法
  • 覆盖索引,最左前缀匹配
  • 当前读,快照读
  • MVCC 原理(事务 ID,隐藏字段,Undo,ReadView)
  • Gap Lock、Next-Key Lock、Record Lock
  • 三大范式

SQL

  • 常用 SQL
  • 连接:自连接,内连接(等值,非等值,自然连接),外连接(左,右,全)
  • Group BY 和 Having
  • Explain

第四天的复习内容:

Spring

  • AOP 原理(JDK 动态代理,CGLIB 动态代理)和 IOC 原理
  • Spring Bean 生命周期
  • SpringMVC 原理
  • SpringBoot 常用注解

设计模式

  • 三种类型:创建、结构、行为
  • 单例模式:饿汉,懒汉,DCL
  • 简单工厂,工厂方法,抽象工厂
  • 代理模式
  • 装饰器模式
  • 观察者模式
  • 策略模式
  • 迭代器模式
  • ....

第五天的复习内容:

计算机网络

  • OSI 模型、TCP/IP 模型
  • TCP 和 UDP 区别
  • TCP 可靠性传输原理:重传、流量控制、拥塞控制、序列号与确认应达号、校验和
  • 三次握手、四次挥手过程、原理
  • timewait、closewait
  • HTTP报文格式1.0 1.1 2.0状态码无状态解决(Cookie Session 原理)
  • HTTPSCA 证书对称加密非对称加密
  • DNS 解析过程,原理
  • IP 协议、ICMP 协议(Ping、Tracert)、ARP 协议、路由协议
  • 攻击手段与防范:XSS、CSRF、SQL 注入、DOS、DDOS

第六天的复习内容:

操作系统:

  • 进程、线程和协程区别
  • 进程通信方式(管道,消息队列,共享内存,信号,信号量,socket)
  • 进程调度算法(先来先服务,短作业优先,时间片轮换,多级反馈队列,优先级调度)
  • 内存管理:分页(页面置换算法:手写 LRU)、分段、虚拟内存

第七天和以后的复习内容:

每天做点刷算法题(剑指 offer、LeetCode 面试 Hot 题) +查漏补缺。

面试经历

字节跳动

第一面

  1. 自我介绍,介绍项目
  2. 协程、线程、进程区别
  3. 手写 LRU(要求用泛型写)、手写 DCL
  4. DNS 解析过程
  5. 输入一个 URL 到浏览器,整体流程
  6. 谈谈 Java 虚拟机你的认识?垃圾回收算法?垃圾回收器
  7. 知道哪些 Java 的锁?CAS 的缺点?

第二面

  1. 自我介绍、介绍项目
  2. 手写最大堆
  3. 设计模式了解吗?几大类型?谈谈工厂模式?
  4. 谈一下 Java 集合框架?HashMap 线程安全的吗?会出现什么问题?
  5. 说说 MySQL 的架构?
  6. InnoDB 和 MyISAM 区别?
  7. 知道聚簇索引和非聚簇索引吗?B 树和 B+树区别?
  8. 一道 LeetCode 难问题:接雨水(动态规划解决)

第三面

  1. 自我介绍、介绍开源项目
  2. 线程池了解吗?原理?可以写个 BlockingQueue 吗?
  3. 说说 fast-fail 和 fast-safe?
  4. 了解死锁吗?怎么解决?
  5. 进程间通信方式?哪种最高效?
  6. 说说 MYSQL 优化策略?
  7. 说了一下部门介绍,主要业务,说可能会转 GO 等等

第四面(HR)

  1. 介绍自己
  2. 团队怎么协作?有没有矛盾?怎么解决的?
  3. 入职时间?实习多久?

华为

第一面

  1. 自我介绍
  2. 谈项目(谈了很久)
  3. HTTP 的无状态怎么解决?(Cookie Session)
  4. TCP 如何保证可靠性传输?(校验和,序列号和确认应答号,重传,流量控制,拥塞控制)
  5. ARP 过程?
  6. 进程调度算法?
  7. 一道动态规划题目:不同路径

第二面

  1. 自我介绍
  2. 谈项目(你觉得收获最大的项目)
  3. 谈谈 Spring AOP 和 IOC
  4. 谈谈你知道的 MySQL 所有内容
  5. 手写个归并排序
  6. 谈谈你对分布式系统的认识?
  7. 谈谈你对华为的认识?华为的文化和价值观?

HR

技术面试都通过了,问 HR 怎么样,说应该没问题,等了一星期 offer,最后发 offer 的时候,HR 说我的性格测试没通过,Offer 审批不下来,人傻了。因为华为在成都,字节在北京,而且技术官的意向是很稳能进华为,我想着在家近的地方实习,在等待的一周中就把字节拒了,最后华为没发到 offer,直接架空,崩溃!第一次找实习没太多经验,策略不对,心里很难受,不过调整了一下,继续了新的面试

网易

第一面

  1. 自我介绍
  2. 介绍一个对自己影响深刻的项目
  3. 说说进程间调度的算法
  4. 说说匿名函数
  5. 说说协程、线程、进程。
  6. 你对游戏引擎了解多少?
  7. 手写地杰斯特拉算法?
  8. 了解 A*算法吗?
  9. 说说 Python 和 Java 的区别?
  10. Java 是怎么进行垃圾回收的?
  11. 然后聊了很多生活上的问题,非技术问题。

第二面

  1. 自我介绍
  2. 介绍项目
  3. 说说深度优先搜索算法、回溯算法
  4. 一道算法题:一个走迷宫问题,DFS+回溯解决。
  5. 你对 C 熟悉吗?Lua 使用过吗?
  6. 介绍业务,主要工作内容。

HR 面

  1. 自我介绍
  2. 介绍一个项目中遇到的问题,怎么解决的?
  3. 介绍一下博客?开源项目?为什么花时间做这些?
  4. 大学最成功的一件事?

滴滴

第一面

  1. 自我介绍、介绍项目
  2. Java 面向对象的三大特性?
  3. 了解 Java 哪些锁?Synchronized 优化内容?锁升级过程?
  4. 谈谈 Java 虚拟机?类加载机制?
  5. 知道双亲委派模式吗?有什么好处?
  6. Java 运行时内存分区?
  7. 死锁了解吗?如何解决?
  8. 哪些对象可以作为 GC ROOTS?
  9. 了解的设计模式?手写一下 DCL 吧

第二面

  1. 自我介绍
  2. 介绍项目(难点以及怎么解决的?)
  3. 谈谈 MySQL 的各种引擎?
  4. 覆盖索引和非覆盖索引区别?
  5. MYSQL 优化方法有哪些?
  6. 讲讲 HashMap 的原理,put 过程?resize 过程?线程安全吗?死循环问题?
  7. 了解什么中间件吗?
  8. 讲讲 Java 里面的锁?
  9. 一道算法题:最长公共子串

HR 面

  1. 自我介绍
  2. 到岗时间
  3. 自己的优势
  4. 大学最失败的一件事
  5. 对加班的看法

京东

第一面

  1. 自我介绍
  2. 谈项目
  3. TCP 如何保证可靠传输?拥塞控制算法?
  4. 讲讲 Spring 的 AOP?
  5. SpringBoot 常用哪些注解?
  6. 谈谈 Java 虚拟机?
  7. 垃圾回收算法有哪些?
  8. 了解哪些垃圾回收器?讲一下 CMS 垃圾回收过程
  9. 算法题:两个栈实现队列最近公共祖先节点

第二面

  1. 自我介绍
  2. 讲讲 Java 集合框架,HashMap 原理。
  3. 知道哪些锁?
  4. 谈谈公平锁和非公平锁?
  5. Synchronized 和 ReentrantLock 区别
  6. MySQL 的索引为什么快?有哪些索引?原理数据结构?
  7. MySQL 有哪些优化的策略?
  8. 死锁了解吗?
  9. ThreadLocal 了解吗?原理?
  10. 手写一个堆排序。
  11. 一道算法题:完全平方数(动态规划)

HR 面

  1. 自我介绍
  2. 多久可以到岗?实习时间?
  3. 对加班看法?
  4. 如何团队分工的?

腾讯

第一面

  1. 自我介绍
  2. 介绍项目
  3. 说说协程和线程区别?
  4. Java 虚拟机的作用?垃圾回收的过程?
  5. 了解的垃圾回收器?
  6. 手写快排
  7. 算法题:按 K 位反转链表
  8. 一百亿个数,n 个机器,怎么排序?(桶排序)

第二面

  1. 自我介绍
  2. 介绍项目
  3. TCP 和 UDP 区别?如何保证可靠性?
  4. HTTP 的状态码记得哪些?
  5. ICMP 是哪层的?有什么用?
  6. 会哪些框架?
  7. Spring 的 AOP 认识?
  8. MySQL InnoDB 和 MyISAM 区别?
  9. 谈谈各种索引?为什么用 B+树不用 B 树?
  10. 死锁的条件?如何解决?
  11. OOM 怎么排查?
  12. 介绍业务

HR 面

  1. 自我介绍
  2. 多久能来实习?实习多久?
  3. 加班看法?
  4. 看你掌握技术挺多,如何快速学习一个技术的?

总结

因为之前学的也比较深入,复习时间也没用太多,主要就是写点算法题保持手感。

面试中遇到的问题,9 成都已经复习了,而且也比较基础,也都在掌握之中。

像中间件、微服务这些我没写在简历上,不是很会,面试官也不会刻意刁难你,实习的话,感觉大厂可能更注重基础和对知识的深入度,面试了一个月收货还是挺多的,希望总结一下面经,帮到更多的人~

准备大厂面试的话,注重基础,多练算法题,基本上就没问题了!加油!

学习资料推荐

这是我认为最牛皮的一份Java核心知识文档,工作五年以下的Java程序员学透这一份文档就可以了!这不仅仅是一份学习资料文档,同时这一份目录还指引出学习路线该是怎样的;

1-3年高工:

  • 并发编程进阶(并发工具类实战+CAS+显示锁解析+线程池内部机制+性能优化)
  • JVM深度剖析(理解运行时数据区+堆外内存解读+JDK+内存泄漏问题排查+Arthas+GC算法和垃圾回收器+类加载机制等)
  • MySQL深度进阶
  • 深入Tomcat底层(线程模型+性能调优)

3-5年资深:

  • 数据库(调优+事务+锁+集群+主从+缓存等)
  • Linux(命令+生产环境+日志等)
  • 中间件&分布式(dubbo+MQ/kafka、ElasticSearch、SpringCloud等组件)

5-7年架构:

  • 开源框架(Spring5源码+SpringMVC源码+Mybatis源码)
  • 分布式架构(Zk实战+RabbitMQ+RocketMQ+Kafka)
  • 高效存储(Redis+mongoDB+MySQL高可用+Mycat+Sharing-Sphere)
  • 微服务架构(RPC+SpringBoot+SpringCloud Netflix+SpringCloud Alibaba+docker+k8s)

由于篇幅有限,无法在此完全展示,

需要获取得话麻烦一键三连+评论,然后添加VX(tkzl6666)即可免费领取

准备面试必不可少的是什么呢?

答案肯定是刷题、刷题、刷题了,不需要管真实工作是不是拧螺丝,你要做的就是把你造火箭这一关给过了;

我的刷题文档:

这一份文档共485页,仅仅看下面的截图就可以看出此份文档的含金量,千道面试题文字+代码+配图一一为你详细解答,香不香,自己品;

需要获取得话麻烦一键三连+评论,然后添加VX(tkzl6666)即可免费领取

年终总结:华为|字节|腾讯|京东|网易|滴滴面经分享(斩获6个offer)相关推荐

  1. 面试BAT、Facebook、微软、网易等大厂经验分享(获得8个offer)

    背景 最近陆陆续续已经开始校招(秋招)了,现在分享下石头当年参加校招的一些经历.本文最早是发布在 blog 上的,现在通过公众号分享给大家,当然会在原有的基础上做了调整. 幸亏当年有记录,不然现在回想 ...

  2. (更新)数据挖掘,自学一年拿了腾讯京东华为网易YY的Offer,方法与建议

    成果 秋招结束了,我最终获得了: 腾讯 京东 华为 网易游戏 欢聚时代 搜狐视频 这几个offer,均待遇不错,收获颇丰. 写作动机 回想起一年多以前选择数据挖掘的时候,一度以为找不到工作,非常着急. ...

  3. 阿里、字节跳动再度发力游戏,腾讯、网易怕了吗?

    9月18日,据多家媒体报道,阿里游戏业务所属的互动娱乐事业部将整体升级为独立事业群,与阿里大文娱平行.同时俞永福将复出出任阿里游戏事业群的第一任掌门人.在这一大调整背后,不少业内人士认为国内游戏行业恐 ...

  4. 此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得--转...

    感谢电子通讯工程的研究生学长为大家整理了这么全面的求职总结,希望进入通信公司和互联网公司做非技术类岗位的学弟学妹们千万不要错过哦~ ---------------------------原文分割线-- ...

  5. 互联网大厂Java岗考点(阿里+百度+腾讯+字节跳动+美团+京东)

    本文扼要 本文结构主要分为以下三个部分: 01 互联网大厂考点(阿里+百度+腾讯+字节跳动+美团+京东) 02 Java 面试考点大全(基本功底+常用技术+技术深度+技术经验+学习能力+工作能力+项目 ...

  6. 互联网大厂考点(阿里+百度+腾讯+字节跳动+美团+京东)

    本文扼要 本文结构主要分为以下三个部分: 01 互联网大厂考点(阿里+百度+腾讯+字节跳动+美团+京东) 02 Java 面试考点大全(基本功底+常用技术+技术深度+技术经验+学习能力+工作能力+项目 ...

  7. 一个高考失利人的2022届秋招复盘,目前收到腾讯 字节 百度 阿里 京东的offer

    文章目录 一个高考失利人的2022届秋招复盘,目前收到腾讯 字节 百度 阿里 京东的offer 前言 本人情况和秋招结果 战绩 大学时间线安排 大一 大二 举一些面试例子 数据结构和算法如何考? 如何 ...

  8. 【模拟面试】23届本科生拿下字节/京东/网易研发offer,到底有多强?

    这是一场模拟面试,面试选手是今年的应届生,拿下了字节/京东/网易的offer. 如果你想参加模拟面试欢迎私聊我,仅限后端,go语言更好. 下面可以看看这个同学的简历 我个人觉得挺不错的 总共问了几个问 ...

  9. 双非院校非科班的学弟,刚刚拿到了腾讯、网易、美团等大厂Offer

    △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 359 篇原创分享 作者 l 霜华 来源 l Hollis(ID:hollischuang) 本文来自作者投稿,作者是是双 ...

  10. 2012九月十月腾讯,网易游戏,百度最新校园招聘笔试题

    十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦(第271-330题) 引言 此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网易游戏,百度等各大公司最 ...

最新文章

  1. javascript的词法作用域
  2. 邮箱@topgrid.cn是什么网站_典 藏 网 站 !
  3. 2019年上半年收集到的人工智能强化学习干货文章
  4. JSON总结(java篇)
  5. SAP FICO PA 模拟题
  6. python爬取岗位数据并分析_区块链岗位薪资高,Python爬取300个区块链岗位分析,龙虎榜出炉...
  7. 无监督训练用堆叠自编码器是否落伍?ML博士对比了8个自编码器
  8. rest_framework12:多登陆方式与自动签发token/配置过期时间
  9. 二叉树的几道相似简单递归题
  10. 骁龙660鸿蒙系统,骁龙660双摄测试机偷跑 核心数/GPU证实
  11. android 粘性view_android - 如何在RecyclerView中制作粘性标头? (有或没有外部库) - SO中文参考 - www.soinside.com...
  12. web安全day48:session和cookie、同源策略的初步理解
  13. SharePoint开发错误—列表自定义表单出现“未将对象引用设置到对象的实例”
  14. PB系统连接原生数据库DB文件
  15. 【车型识别】基于小波和盒维数实现车型识别含Matlab源码
  16. 嵌入式 Linux 入门 环境篇(一、开发板初体验)
  17. PPT怎么设置html颜色代码,PPT怎么设置表格边框颜色 PPT设置表格边框颜色教程
  18. Windows 桌面美化
  19. 虚拟机上装oracle,cmd窗口输入法有问题,按了U,I,O,P,J,K,L,M这些键为什么不是UIOPJK
  20. 程序员因违反竟业协议,赔腾讯97.6万...

热门文章

  1. 技术决胜年----谈谈我2018年的新观念新思想
  2. IP地址子网划分基础知识
  3. 学习计算机基本知识,怎样按序学习计算机基本知识
  4. Windows安装msi文件报错(无法打开此类文件(.msi))
  5. CF235C Cyclical Quest(SAM)
  6. 深度学习目前的局限性之AI识别彻底懵逼!这到底是「牛」还是「鲨」?
  7. 初级会计最后一个月稳过秘籍
  8. 2016网易春季校园招聘产品策划笔试
  9. 计算机应用基础中专起大专,17秋中国医科大学《计算机应用基础(中专起点大专)》在线作业标准100分答案...
  10. MySQL有几部分_数据库系统有哪几部分组成?