计算机网络相关
网络的七层结构
tcp\udp 详解 区别
https 协议的交互过程
四次挥手;
http和https的区别
https安全套接字的加密过程
为什么连接的时候是三次握手,关闭的时候却是四次握手?
简单说说计算机网络
简单描述一下从浏览器输入一个地址到服务端整个交互过程
Thrift协议和http协议的区别
http协议和https协议的区别,https是怎么实现安全的
http报文头里面的keep-alive是什么意思
IP协议的报文是什么样的(我他妈真的谢谢你考我计算机网络)
操作系统相关
操作系统用过吗
用过 linux 的哪些命令
查看一个进程监听了哪些端口
数据结构与算法
讲讲贪心算法;
lru缓存变形题。(带有过期时间的lru缓存)
数组中右边第一个比他大元素(时间复杂度O(N))
快速排序
栈的所有可能弹出序列
三数之和,如果是四数之和如何做
微信抢红包架构设计
介绍认识的数据结构
链表的实现(答顺序存储、链式存储)
顺序存储的链表和链式存储的链表的差别
哈希结构如何处理冲突(答到拉链法,扯到HashMap底层用红黑树)
红黑树的特性、优势
Linux相关
linux 基础命令
linux 开机过程
了解现在市面上主流的 cpu 架构
fpga 概念了解吗
Redis
redis4.0有什么新特性?
redis的过期时间
redis的lru策略
redis的常用数据结构
zset的数据结构
zset的中插入一个元素的时间复杂度。
redis如何保证高可用?
什么是redis的哨兵模式?
redis主备切换过程是怎样的?
Redis常用的数据结构有哪些
有序集合使用的场景
redis的过期策略有哪些
缓存穿透是什么(和缓存击穿记混了..面试官进行提醒了
缓存穿透解决策略有哪些
除了redis缓存你还有了解到其他缓存吗
分布式锁有了解过吗
怎么使用缓存实现分布式锁
redis持久化策略?
你实现的K-V数据库是基于内存的吗
你可以讲一下跳表数据结构吗 和普通链表的区别
跳表查找和插入的复杂度
redis的使用
redis里存储的是什么数据,以及按照什么数据结构存储的
redis常用数据结构有哪些
redis里key是什么,value是什么
布隆过滤器的使用
了解布隆过滤器的原理吗
能说出这个“能命中有可能有,不能命中就一定不存在”的因果关系吗?这是个什么原理(这个没懂在问什么 我答了他存的时候可能有哈希碰撞,所以不一定有)
数据库
怎么用mysql实现分布式锁
怎么使用悲观锁加锁
数据库的隔离级别有哪些
可重复读和串行化的区别
可串行化用mysql怎么实现:只讲了serializable,面试官提示还有锁表和范围锁 G
mysql索引结构?
聚簇索引和非局促索引的区别。
mysql的存储引擎。
innodb和myisam的区别
为什么myisam支持事务
innodb是如何支持的事务
为什么myisam不采用和innodb相同的方案来解决事务问题
为什么数据量大的时候会出现慢sql?
慢sql如何解决。
如何sql优化。
分库分表如何做的?
分库分表如何不同库表间数据不重复。
数据库索引原理
事务如何处理的
事务的特性
分布式事务
分库分表扩容怎么做
如何做到无影响扩容
innodb存储引擎中是如何为磁盘io优化的。
缓冲区的数据结构是怎样的?
lru是如何移除和插入数据的?链表中存储的是什么数据,如果没有索引那还存储什么?
全局唯一性id是如何生成的。
你们生成id的速率超过了mysql的性能极限了吗?没超过为什么你们不采用MySQL生成全局唯一性id。
MySQL作为相对于雪花算法全局唯一性id的缺点除了性能问题,还有什么?
MySQL的索引结构
为什么用B+树
having的作用
聚簇索引
聚簇索引相比非聚簇索引的优点
MySQL的B+树索引结构什么样的,还有其他类型的索引吗
慢查询怎么进行SQL优化
中间件
zookeeper节点类型说一下;
zookeeper选举机制?
zookeeper主节点故障,如何重新选举?
设计模式
Java岗相关
cookie和session的区别。
登陆太是如何做的
如果禁用cookie,是如何保证登陆太的
token是如何传输的
nginx为什么性能很高
https
java泛型原理
类加载机制
为什么要引入双亲委派机制
高并发时如何限流
Spring
spring DI的原理;
JVM
线程池
看到你说用了线程池,说说线程池呗
线程池你会常用哪些队列?
线程池的队列和消息队列(比如rocketmq)有什么不一样吗?
线程池的核心参数;
syn机制?
threadlocal的实现,原理,业务用来做什么?
gc root选择;
标记清除算法的过程,标记清楚算法如何给对象分配内存空间?
cms算法的缺点;
CorruntHashmap理解
ThreadLocal原理
hashmap;
Java数据类型,同步机制;
如果线上用户出现502错误你怎么排查?
并发量很大,服务器宕机。你会怎么做?
syn和lock的区别,哪个更好?怎么选择?
hashmap源码,为什么8个节点变成红黑树又为什么到了6个节点才恢复为链表?
缓存穿透,怎么解决?
负载均衡算法,实现;
轮询和随机的缺点;
分布式服务治理;
dns迭代和递归的区别;
详细介绍项目(简历上的域名访问不了)
讲解之前工作经历中做的东西 10.做一道算法题(判断二叉树是否对称)
java 如何从源代码转换成机器码执行的
java 的击穿
市面上的图数据库
rdf 讲解
图数据库底层存储
b 树,b+树的概念和区别
红黑树平衡二叉树优缺点和应用场景
有没有了解 docker 等云技术
可以用消息队列充当线程池的队列吗?
反过来呢,可以用普通的Java队列实现消息队列的功能吗?
还是刚刚的问题,普通队列和消息队列有什么本质的不同呢?
说到消息队列那我们聊聊分布式,你对分布式是怎么理解的?
分布式和微服务可以划等号吗?
一个请求到分布式的后端,是怎么决定应该打到哪台机器上的呢?
那ALB(或者nginx)和微服务里用到的注册中心有什么区别吗?
可以用nginx代替注册中心吗?为什么行/不行?
你确定nginx没有发现被代理的服务器故障的功能吗?
为什么使用feign代替了dubbo呢?
feign调用和dubbo有什么不同?
rpc自定义的协议和http有什么不同?
使用rpc为什么数据要进行序列化和反序列化?
从网络分层的角度考虑,rpc自定义的协议和http有什么不同?
用redis除了缓存还做了什么?
为什么会考虑用redis做分布式锁呢?
其他的东西可以做分布式锁吗?分布式锁对使用的组件有什么要求呢?
数据库实现分布式锁和redis各有什么优劣?
假设现在让你去优化淘宝的商品搜索接口,你有什么思路?
除了说到的索引、搜索引擎、缓存、多线程,还有其他方法吗?
你用到的开放搜索和es有什么区别?
既然他们很像,那你了解es的原理吗?
写了个单例模式的代码。
violatile的语义,什么场景下会使用到
指令重排序的意义?
AOP的实现原理及使用场景有哪些?
Java类的初始化顺序及原因?
synchronized锁class对象和普通对象的区别?(我觉得没啥区别)
如何设计一个统计API访问次数的功能?
如何设计一个限流模块?
缓存雪崩 缓存穿透 缓存击穿都是什么意思,怎么处理
缓存常见的更新策略?
HashMap的put方法
HashMap的扩容过程
自定义协议怎么解决粘包问题
线程池的七大参数
corePoolSize
maximumPoolSize
BlockingQueue
keepAliveTime
TimeUnit
ThreadFactory
RejectedExecutionHandler
线程池的运行过程
mysql的四个隔离级别
dubbo的负载均衡策略
Random LoadBalance
RoundRobin LoadBalance
LeastActive LoadBalance
ConsistentHash LoadBalance
java的动态代理
Spring哪里用到了动态代理?
说一下CGlib动态代理
MQ如何保证消息不会丢失?
生产者确认机制
Return消息机制
消费者手动消息确认
持久化
lock和synchronized的底层实现
AQS的实现原理
线上用的什么垃圾收集器?G1收集器和CMS收集器的区别?
线程池的几个参数?
线上出现过什么故障?(讲了个线程池无界队列导致OOM的情况)
分布式事务怎么处理?(分布式锁 or 消息队列)
分布式锁过期怎么解决?(不过期or续期)
Redis的基础数据结构?
Redis怎么进行分布式部署?
Redis集群模式下查询到非key所在节点的话会怎么处理?
RPC协议和HTTP协议的区别?
服务发现怎么做的?
如果注册中心挂了的话,是否还能做服务发现功能呢?
ascii和unicode有什么区别
MySQL索引的结构,B+树相对于B树的改进
进程间怎么实现同步的?(早还给老师了)
TCP的拥塞控制和慢启动是怎么回事?(早还给老师了)
MySQL中的游标是怎么回事(离谱,我少说也写了5年代码了,从来没用过这个东西)
MySQL中的主键的含义(感觉面试官已经觉得我啥也不会了)
JVM的垃圾回收算法有哪些(感觉面试官好不容易想了个他脑子里面能想出来的Java方面的问题)
动态链接和静态链接的区别(不会,我又不写C和Cpp)
Spring是怎么解决循环依赖的
Spring的AOP是怎么实现的,项目里面是怎么用的
HashMap当做缓存的情况下多线程下会OOM的原因?怎么避免?
ConcurrentHashMap有什么实际的使用场景?(真没用过。。)
volatile关键字的语义是啥?有啥应用场景?
String StringBuilder StringBuffer的区别
equals和hasCode的区别
HashMap和HashTable的区别
多线程下怎么使用HashMap
ConcurrentHashMap的原理
HashMap超过容量会怎么处理?
HashMap多线程下为什么会死循环?
Synchronized和Lock的区别
synchronized底层实现原理?
Lock底层实现原理?
公平锁和非公平锁的区别?
JVM内存怎么分区的
为什么会有新生代老年代的区分
新生代内部怎么分区的
新生代和老年代采用了什么垃圾回收算法?
G1收集器的回收流程是什么样的?
CAS底层是怎么实现的?
CAS会有哪些问题?
CAS的ABA问题怎么解决?
ava内存是什么样的,方法区主要存储些什么,方法区规范是一直存在的吗
Java多个线程同时new对象存在竞争的情况会发生什么(这个没答出来)
Java类加载器的加载过程是什么样的?
类加载器验证阶段出现报错会怎么样?
类加载器的三层结构是什么样的?
代码题,手写实现一个HashMap
代码题,给出一个数n(整型范围),给出一个数字nums(0-9),求用数组里面的数组成的小于n的最大值
4.synchronized和lock的区别
5.sync是否可重入,重入的底层怎么实现的
6.公平锁和非公平锁的区别
线上出现接口响应慢的情况怎么排查?
MySQL什么情况下索引会失效?
MySQL慢查询可能有哪些情况?
Java synchronized和Lock的区别
GC使用的算法和收集器的过程?
Java HashMap为什么线程不安全?
volatile原理和作用 什么是指令重排序,举个例子 AQS原理 JVM内存模型 类加载过程 双亲委派机制 介绍代理模式 redis数据结构 HTTP状态码,header MVCC原理
IM项目怎么用Netty的,为什么要用Netty,长连接交互是怎样的
消息怎么存储,怎么发送,怎么知道消息已读和未读的
读了5条消息、又来5条消息,你是怎么去更新的,你的消息是幂等的吗?
项目里怎么用ES的,ES怎么支持搜索的
技术论坛网站的评论是怎么存储的
查询评论是在DB里扫表查询吗?怎么展示所有的评论?性能如何?想要查询更快可以做哪些优化?
结合缓存和DB的时候会出现哪些问题?要怎么解决?
快排了解吗?介绍一下快排?时间复杂度是多少?为什么会退化成O(n^2)?单链表可以做快排吗?快排最核心的逻辑是什么?写一下单链表快排
IM系统用户登录怎么实现的?
登录状态是怎么保存的?session是怎么获取的?sessionid是怎么识别的?整个流程是什么样的?有没有考虑分布式session?
Redis的数据类型
Redis数据类型的底层数据结构
三次握手、四次挥手
Redis持久化机制
MySQL的InnoDB索引数据结构
哪些SQL的关键字会让索引失效
队列、栈、数组、链表
算法题:leetcode 92题
什么是系统调用 tcp如何实现可靠性传输 浏览器从输入url到拿到ip地址发生了什么 堆和栈的区别 进程间通信的方法 什么是阻塞调用 编译器为什么要字节对齐 设计实现一个统计函数执时间的方法
项目经历TCP四次挥手,TIME_WAIT发生在哪一方TIME_WAIT过多如何处理进程间的通讯方式用的什么RPC框架,原理,协议你的项目中,接口调用如何保证幂等数据库的事务性质,innodb是如何实现的mysql中数据的存储结构算法:leetcode 42接雨水反问环节
微服务需要注意些什么 你的项目中,如何保证分布式事务的一致性 Redis如何实现分布式锁 服务之间调用用的什么协议,为什么 如何约定服务之间调用的接口的 限流怎么做的,为什么 算法:leetcode 209 二叉树转双向链表 TCP四次挥手,TIME_WAIT发生在哪一方 TIME_WAIT过多如何处理 进程间的通讯方式 用的什么RPC框架,原理,协议 你的项目中,接口调用如何保证幂等 数据库的事务性质,innodb是如何实现的 mysql中数据的存储结构
对象一定分配在堆栈对象不一定分配在堆上,JIT可以实现栈上分配
JMM内存模型
原子性,可见性,有序性如何保证
工作内存与主内存
volatile,重排序举例
synchronized和Lock的区别
synchronized内部实现,偏向锁,轻量锁,重量锁
为什么需要自旋?
HashMap,HashSet,TreeSet,ConcurrentHashMap
Spring事务是怎么实现的?
类加载机制?
双亲委派机制
自定义了一个String,那么会加载哪个String?
HTTPS和HTTP区别?
非对称加密有哪些缺点?
XSS和CSRF攻击
NIO,Linux网络IO模型五种
Redis持久化
MySQL隔离级别,一致性视图,undo log,redo log和binglog
MySQL索引结构,回表,最左前缀原则
不使用第三个变量交换a和b的方式
算法题目一:a+b+c=0
算法题目二:链表倒数第N个节点
第二轮面试:一个小时15分钟
经过了一轮面试对基础知识点的狂轰乱炸,二面面试官主要考察对于项目的理解。涉及到的知识点如下:
多个项目的技术架构,不是业务架构
MySQL,Redis,Nginx,Kafka这些技术架构
项目技术点,学到了哪些?也要具体知识点。
MySQL中为什么是最左前缀?
有没有接触过一些自动熔断工具
502可能的原因有哪些?
线上问题怎么排查?Full GC频繁怎么办?
服务的QPS,数据库的架构和版本。
SpringBoot的优缺点分析
SpringBoot的启动源码分析
服务的部署方式?
算法题目:按照之字形分层遍历二叉树,要求bug free,并且构造二叉树进行测试。
第三轮面试:45分钟
进行了一轮面试官对我基础知识的肯定,二轮面试官对我业务逻辑和处理问题能力的肯定。三面面试官主要考察一些开放性系统设计类型问题,涉及到的知识点如下:
项目介绍,从技术点和安全方面的考虑。
有研究过哪些算法?
CAP理论的理解
如何设计实现中国象棋?
如何设计一个排队系统?
平时都是怎么学习的?最近都在关注哪些技术?为什么?
HRBP面试:30分钟
HR面试主要考察了一些个人基本情况以及未来的规划等,涉及到的问题如下:
自我介绍
为什么在看机会呢?在看什么类型的机会呢?
为什么看字节的机会?
你觉得字节是一家什么样的公司?
朋友同事如何评价你?
平时都有哪些兴趣爱好呢?
在原公司最享受的阶段是什么时候?为什么
你对我们的业务方向了解吗?
你对我们的业务方向和技术感兴趣吗?
跳槽原因 使用的数据库,有没有用过mysql 数据库的隔离级别以及分别有什么问题 7.redis hash冲突以及rehash的过程 8.三次握手,可不可以多一次或少一次 9.四次挥手的过程 10.有没有用过消息队列 11.怎么解决网络波动导致的消息重复发送和重复消费的问题 12.怎么解决持久化失败 13.悲观锁和乐观锁 14.分布式事务的解决方案 15.结合项目问一下问题 14 16.两个mongdb(都支持事务,但是要跨数据库) 都要插入数据,怎么解决同时插入 17.缓存穿透,缓存击穿,缓存雪崩的概念及解决方案 18.说一说分布式锁 19.说一说mongoDB的索引,esr原则,复合索引 20.ES的索引,为什么快 21.算法:二叉树的最长路径
系统设计:一个系统需要加载100G的数据,在这期间还要能正常处理外部请求;
介绍下虚拟内存;
介绍下什么是内核态;
算法:返回一个数字数组的排序值,比如数据[6,2,5,0]的返回是[4,2,3,1];
介绍下redis有哪些数据结构、底层的如何实现?
自我介绍
- 笔试题的讨论;
- 介绍项目;
自我介绍;
介绍项目(分布式锁的设计,分布式事务如何实现);
手撕算法1:判断一个树是否是平衡二叉树
手撕算法2:输出一个集合的所有子集
自我介绍;
同步和异步、并行和串行;
知道哪些设计模式;单例有什么缺点;
为什么要做系统拆分;
AOP和OOP的区别;
2 springboot启动类注解,再启动过程中做了那些事,在ioc容器中的过程 3 springboot或spring框架中的设计模式 4 主流的中间件产品,如Tomcat 5 多线程的实现方式,他们之间的区别,用多线程怎么选择 6 java中的堆和栈 区别,关系 生命周期
对象的三大特性 解释一下三大特性 重写和重载的区别 什么是多态 ==和equal()的区别 向上,下转型(子类父类) string,stringbuilder,stringbuffer的区别 mybatis中表的字段名和实体类的的变量名不同怎么办 如何防止sql注入
{}和${}的区别
springboot中如何捕获异常 如何实现定时任务
介绍Java容器
介绍自己了解的红黑树
基本数据类型与包装类型
程序从源代码到运行,编译、解释、运行(回答扯到Java语言的特性)
String 以及 String的方法 (后意识到面试官可能想问的是框架String,但很遗憾我只会一点String类)
I/O流(不会)
JVM内存区域
介绍一下gc
机组讲什么
谈对面向对象编程的理解
java基础 数据类型 包装类基本类 object类有哪些 == equals JVM 有哪些内存区 哪些是共享内存 垃圾回收算法 可达性算法 怎么分代的 强引用 软引用 弱引用 虚引用 线程池的参数类型,核心线程数和最大线程数的区别 拒绝策略 4种背不出来了。
mysql 索引底层 redis基本数据类型 项目中用到了哪些
算法 合并两个有序数组 优化
14.mysql的事务了解吗(不知道说到什么程度 说了事务acid 四个隔离级别之后就被打断了说可以了)
C++岗相关
C和C++ java语法上的区别 C和汇编怎么对应 谈谈C的指针 mysql索引数据结构 mysql中B+树的叶子节点存的是什么 从mysql到Redis怎么存入数据 MongoDB为什么快
C++知识 指针和引用的区别 C++四种强制转换:静态、动态、常量、重新解释 STL迭代器的作用
项目中RPC框架是使用什么通信协议 RPC通信协议有些什么 RPC使用HTTP和TCP的区别 RPC远程调用框架和HTTP远程调用框架的区别
评论区
0/2048