秋招 快手java后端一面8.2 介绍一下自己 实习期间做了什么(重点是你做了什么,如果有技术上的难点就更好了,可惜我没) 项目拷打 项目中加盐加密介绍,为什么加盐,怎么加盐 异步系统通知是如何实现的,kafka面经 关注功能是怎么做的,延伸了redis的事务 项目中es是怎么用的,elasticsearch 为什么这么快,es写数据过程 hashmap的原理jdk1.7和1.8 concurre
一面 问redis项目和具体实现 redis为什么快 缓存击穿-逻辑过期,缓存空值 怎么查找一个key是否是热点key redis分布式锁怎么做 http有无状态,怎么实现保存状态? cookie安全问题,跨域 https,对称与非对称的性能 数据库四大特性,分别怎么实现的 常见隔离机制,怎么实现的 mysql索引结构 为什么b+不哈希 写一个简单sql 有个表:age,score,name,找每
一个半小时 八股很少,感觉面试官很喜欢问优化问题,看起来比较严肃,但我不会的问题他都会给我讲一下答案/思路,总体而言感觉学到很多 介绍项目: 根据项目中的点发散思考+优化思路 1.布隆过滤器:怎么优化会没有删除问题,我说了两种思路 2.rpc的通信过程:如果用tcp这种流式通信协议,你觉得在反序列化过程中应该怎么解析(怎么组装+解析类名方法名) 3.介绍了一下哈希一致性算法 Mysql部分: 你知
项目(限流怎么做的?限流策略?不限流会怎么样?实际中怎么确定的频率门槛?) 八股: 1. Java中类加载过程 2. HashMap和HashSet的区别 3. 有没有遇到过死锁?怎么解决的? 4. java中的锁,乐观:CAS,悲观:synchronized, Reentrantlock 5. 谈谈常见的设计模式? 6. 代理模式有哪两种?动态代理有哪两种? 7. MySQL隔离级别?RR隔离级
后续更新- 已进人才池-寄! 到家事业群-80min-base北京 1. 双方自我介绍 2. 项目: a. RateLimiter类怎么实现的 b. 说说限流策略:令牌桶,漏桶,窗口计数 c. RateLimiter类底层代码看了吗?(没看) d. Spring Task中的@scheduled注解底层怎么实现的?(答了线程数为1的ScheduledThreadpoolExecutor ) e.
进程和线程区别,进程间如何通信? 线程切换成本高原因,线程上下文包含哪些? tcp和udp区别,已经如何选择? 数据库事务,索引理解? mysql 数据库事务回滚如何实现? redis 数据结构、集群数据分配、过期删除? 线程安全、不安全如何理解? java线程池核心参数设置,任务执行流程? 乐观锁、悲观锁怎么理解,如何选择? java常用数据结构? spring aop 理解? 了解哪些设计模式
40min 1.jvm调优问题 2.hashmap冲突怎么造成的? 3.mysql索引,全文索引,10G数据,8G内存怎么整?(没听懂问题) 4.es的api,构建bsl 5.springboot自动装配 6.kafka怎么生产怎么消费? 7.问项目,项目涉及哪些实体,又问业务流程 8.项目难点
问的很深,直接把我搞得现原形 算法 判断只出现一次的数字+优先队列 没问项目 MySQL八股 锁 事务 spring八股 自动装配 微服务 rpc的原理 分布式锁 setnx 分布式事务 没用过 反问: 面试过程有哪些不足 回答:广度还行,深度有所欠缺,建议多看看源码 12.05 17:19打电话说过了,约二面
一面 11.12 项目 AOP原理 让你设计一个上报系统会怎么设计 如果上报接口的QPS特别大该怎么解决 集合的接口 LinkedHashMap LinkedList于ArrayList区别 线程池的参数以及各自的作用 ThreadLocal是什么, 怎么使用的, 主线程的ThreadLocal如何向子线程的ThreadLocal传递数据 Redis数据结构 字符串原子自增的API, 分布式锁的A
1.CAP理论深挖(为何不能同时满足三者,某种场景到底是AP还是CP还是同时满足CAP) 2.CAP分布式系统中如何保证C或者A或者P 3.ClickHouse与MySQL的区别,对比MySQL有什么优点,ClickHouse索引,为何读取比MySQL块,索引底层实现 4.MySQL组合索引场景,MySQL业务中如何调优,索引底层实现,对比B-Tree为何比Hash优秀等基础理论 5.算法题
1.项目涉及到哪些表?以及表里的字段怎么存放?(拷打项目) 2.Java类的生命周期 3.如何保证多线程安全 4.ReentrantLock实现原理 加锁过程(底层源码) 5.Synchronized加锁过程(底层原理) 6.Reentrantlock默认是公平还是非公平? 7.Synchronized和ReentrantLock区别? 8.公平锁和非公平锁的区别? 9.线程池的核心线程数是 2
1.项目中设计哪些表?表之间的数据模型?(表之间的关系) 2.Redis存放哪些数据? 3.项目QPS是多少?如果超过了这个QPS,系统会怎么样? 4.Redis原子化的操作有哪些?多个业务如何保证原子化操作? 5.虚拟机配置内存模型 配置参数值? 6.Java虚拟机参数调优?有无实际调优经验? 7.常见的JVM参数和调优了解哪些? 8.垃圾回收算法默认的垃圾回收器?(JDK版本决定,项目JDK版
60min 感谢你的时间 1. 自我介绍 2. 进程和线程的区别?为什么线程切换消耗资源小?进程和线程是怎么来使用多核CPU的? 3. 虚拟内存 4. 手机下单流程的网络请求过程?为什么是三次握手不能是两次?世界上这么多机器是怎么知道我们的目标服务器在哪里? 是要知道所有人的MAC地址然后去匹配吗?连接断开的过程?没有第四步会怎么样?TCPUDP的区别 5. HashMap的实现?红黑树的好处?
八股 -STL中的数据结构 -vector如何实现? -vector删除一部分数据,如何回收掉? -声明vector<int> a,在内存会分配什么空间? -函数内部声明vector<int> a,内存分配的位置?push元素时,栈指针如何变? (以上均考察vector的模板类实现) -map? -unordered_map 查找过程? -unordered_map链表存储时,每个节点存放内容?
1. 为什么选这专业 2. 什么是监督学习什么是无监督 3. 损失函数 4. ArrayList LinkedList 区别,插入复杂度,删除复杂度 5. 讲下HashMap 6. 讲下ConcurrentHashMap 7. 讲下阻塞队列 8. 讲下线程安全的List 9. 讲下JVM内存区域 10. @Autowired @Resource 11. 类加载器过程 12. 如何避免全表扫描 13