8.15 一面 (60min)
- 自我介绍,为什么投客户端
- python和java有什么区别
- java内存模型
- gc讲讲
- http https区别
- cookie,session
- https握手过程
- 对称非对称加密算法?哪个效率高?
- tcp握手要三次,挥手要几次,为什么
- 进程和线程,描述一下
- 进程通信方式
- 线程同步方式
- 写个生产者消费者模型,要求多线程环境下
- 为什么要用synchronized?原理?效率?
算法:
- 二叉树,打印所有根结点到叶节点路径和为k的路径。
反问
先别走,二面面试官马上来
8.15 二面 (40min):
- 自我介绍,为什么投客户端
- 讲讲在学校的科研项目
- python和java最大的区别是什么,从你的使用感受说说
- https(问过了)
- 数字签名验证过程
- 从输入一个url到页面展示出来的过程
- tcp怎么保证可靠性
- tcp报文序号怎么分配的
- utf-8,utf-16是啥?有啥区别?为什么网络传输大部分用utf-8?
- 内核态和用户态
- 智能指针了解吗(不了解)
算法比较简单:
- 二叉树,把每个节点的值反转,并输出所有节点和。
反问
8.20 三面 (60min):
- 评价一下自己前两面的表现?
- 为什么投客户端,听前面的同学说你觉得客户端简单?(不是不是,balabla)
- 问项目,问得很细,每一步是怎么实现的,过程,如果不是自己亲手一步一步做绝对会露馅
- 做项目时遇到了什么困难
- redis用来做什么?效率怎么样?
- 分布式锁都可以怎么实现?
- 问点计算机基础吧(终于)
- java代码从编写到运行的过程
- 堆内存通过gc自动回收,栈内存怎么回收?
- 栈溢出是什么?什么场景可能会出现栈溢出?
- 问点网络吧,syn攻击了解吗?(以前刷博客看过一眼,只懂个皮毛,不过面试官很好,说如果不了解就不问这方面的内容了。我赶紧说不了解)
- 那换个问题吧,输入url到页面展示的过程?(窃喜,问过了)
- 然而并没有让我说完,DNS解析详细问了一下,然后路由转发详细问了一下,说看我这方面挺熟的,没必要再说了。
本来说要写一道算法,但是估计看时间差不多了,就没让我写,直接反问环节
其实准备字节跳动的面试还是需要着重准备基础部分(数据结构、算法、操作系统、计算机网络),另外对做算法题的要求很高,如果在看到题目的时候能直接给出这个题目的最优时空复杂度解法,面试官对你的评价会很高。
如果基础知识比较扎实了,可以看看网络上的面试经验,找找自己不会的知识点,查漏补缺。
也祝大家都能拿到心仪的offer!
Java 多线程学习手册
这个文档内容的整合有博文、书籍、面试题等,对于一些已经讲解得很简明的技术点进行了一个直接的引用;对于一些没有讲解清楚的知识点,用图片或者代码实践进行展示;对于那些争论较大的技术点,本文档在核对了巨多材料的情况下,从而得出的最佳答案。
该笔记分为三大模块:基础+原理+JDK工具,共二十个小节;从基础由浅入深,直击底层原理。
计算机网络顶级教程
HTTP是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。简单来说,如果你不懂HTTP协议,那就相当于是个只有“半桶水”的程序员。
算法与数据结构
该文档的内容全部选自 LeetCode 和牛客网的原题,你只要按照顺序刷题,保你一个月速成算法。 还在为动态规划系列问题发愁吗?书中给动态规划总结出了一套框架模板,还有整整一个章节教你如何套模板做题
最后
给读者们一个小福利,有需要这些资料的朋友们可以点击我,即可免费领取资料!
ActiveMQ消息中间件面试专题
- 什么是ActiveMQ?
- ActiveMQ服务器宕机怎么办?
- 丢消息怎么办?
- 持久化消息非常慢怎么办?
- 消息的不均匀消费怎么办?
- 死信队列怎么办?
- ActiveMQ中的消息重发时间间隔和重发次数吗?
ActiveMQ消息中间件面试专题解析拓展:
redis面试专题及答案
- 支持一致性哈希的客户端有哪些?
- Redis与其他key-value存储有什么不同?
- Redis的内存占用情况怎么样?
- 都有哪些办法可以降低Redis的内存使用情况呢?
- 查看Redis使用情况及状态信息用什么命令?
- Redis的内存用完了会发生什么?
- Redis是单线程的,如何提高多核CPU的利用率?
Spring面试专题及答案
- 谈谈你对 Spring 的理解
- Spring 有哪些优点?
- Spring 中的设计模式
- 怎样开启注解装配以及常用注解
- 简单介绍下 Spring bean 的生命周期
Spring面试答案解析拓展
高并发多线程面试专题
- 现在有线程 T1、T2 和 T3。你如何确保 T2 线程在 T1 之后执行,并且 T3 线程在 T2 之后执行?
- Java 中新的 Lock 接口相对于同步代码块(synchronized block)有什么优势?如果让你实现一个高性能缓存,支持并发读取和单一写入,你如何保证数据完整性。
- Java 中 wait 和 sleep 方法有什么区别?
- 如何在 Java 中实现一个阻塞队列?
- 如何在 Java 中编写代码解决生产者消费者问题?
- 写一段死锁代码。你在 Java 中如何解决死锁?
高并发多线程面试解析与拓展
jvm面试专题与解析
- JVM 由哪些部分组成?
- JVM 内存划分?
- Java 的内存模型?
- 引用的分类?
- GC什么时候开始?
JVM面试专题解析与拓展!
jvm面试专题与解析
- JVM 由哪些部分组成?
- JVM 内存划分?
- Java 的内存模型?
- 引用的分类?
- GC什么时候开始?
JVM面试专题解析与拓展!
[外链图片转存中…(img-Yj8z7u9J-1625435107854)]