前言
Java虚拟机栈是线程私有的,没有数据安全问题,而堆相比较于Java虚拟机栈而言更为复杂,因为堆是所有线程共享的一块内存空间,会出现线程安全性问题,而垃圾回收也主要是回收堆内空间,所以堆内的布局我们非常有必要深入去了解一下。现在就让我们继续来分析一下堆内布局以及Java对象在内存中的布局吧。
一面(技术面:算法+Redis+MySQL+网络)
- 给定m个不重复的字符 [a, b, c, d],以及一个长度为n的字符串tbcacbdata,问能否在这个字符串中找到一个长度为m的连续子串,使得这个子串刚好由上面m个字符组成,顺序无所谓,返回任意满足条件的一个子串的起始位置,未找到返回-1。比如上面这个例子,acbd,3。给定m个可能重复的字符[a, b, d, d]呢?
- 提供一个整型数组以及一个整数s,如果该数组中存在n个连续元素,且元素相加之和大于等于s,则返回满足该条件的连续元素的最小长度;否则返回0
- MySQL集群。假如集群出现延迟怎么处理。
- Redis的zset实现延时任务
- 设计题:如何设计tiny url
- 为什么要四次挥手
- HTTPS
- … …
第二天收到hr小姐姐的电话,约了面试时间
二面(项目+Redis+MySQL+kafka)
- 自我介绍
- 项目介绍
- K Group反转链表。写了栈和迭代两种实现方式,链表的题写起来真痛苦,很容易边界出错。
- Redis的持久化机制
- MySQL的隔离级别
- MySQL索引,聚簇索引和二级索引
- Redis高可用方案
- 介绍一些Kafka的一些概念
- Kafka如何保证消息有序
- …忘了
过了一天又收到hr小姐姐的电话,开心
三面(高并发+MySQL+网络)
- 自我介绍
- 项目介绍
- 第K大的数
- 设计题:秒杀系统
- MySql的索引优化
- HTTPS
- …忘了
hr面
- 为啥离职,怎么想的
- 介绍项目
- 怎么和团队的人沟通,和成员出现冲突时怎么解决。
- 期望薪资,你现在的薪资
总结头条面经
三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。
最后
关于面试刷题也是有方法可言的,建议最好是按照专题来进行,然后由基础到高级,由浅入深来,效果会更好。当然,这些内容我也全部整理在一份pdf文档内,分成了以下几大专题:
- Java基础部分
- 算法与编程
- 数据库部分
- 流行的框架与新技术(Spring+SpringCloud+SpringCloudAlibaba)
这份面试文档当然不止这些内容,实际上像JVM、设计模式、ZK、MQ、数据结构等其他部分的面试内容均有涉及,因为文章篇幅,就不全部在这里阐述了。
作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。
最后提醒一下哦,如果你想要学习,却无奈于没有干货学习资料,以上所有的资料内容都可以免费分享给你,只需你多多支持一下即可
也提升了自己的知识广度和深度。**
最后提醒一下哦,如果你想要学习,却无奈于没有干货学习资料,以上所有的资料内容都可以免费分享给你,只需你多多支持一下即可