攒人品攒人品攒人品 1. 100% 2. 100% 3. 100% 4. 5% -> 10% (使用特殊值最高到10%) 5. 100% 前三题总体来说都不难,用暴力都能过,就是不知道暴力法会不会降低面试官的评分 第四题如果有过的朋友不知道能否麻烦请教一下,实在想不出来了 第五题和8.6号做过的小红书笔试类似,思路也很相似,最后幸运跑通
一个小时。 自我介绍 三个项目你选一个讲 项目相关: 如果qps为一万的请求打到后端,怎么解决 哪些地方用到了锁,锁的是什么 怎么解决超卖 redis里存了什么,商品信息?还是只有库存,用了什么数据结构 做了哪些结构优化,拆分服务不会开销更大成为负优化么 乐观锁 悲观锁 为什么wait notify这些不写到Thread类里,而是写在Object里 线程池参数 线程池线程数一般怎么取 为什么2n+
一面 问redis项目和具体实现 redis为什么快 缓存击穿-逻辑过期,缓存空值 怎么查找一个key是否是热点key redis分布式锁怎么做 http有无状态,怎么实现保存状态? cookie安全问题,跨域 https,对称与非对称的性能 数据库四大特性,分别怎么实现的 常见隔离机制,怎么实现的 mysql索引结构 为什么b+不哈希 写一个简单sql 有个表:age,score,name,找每
一个半小时 八股很少,感觉面试官很喜欢问优化问题,看起来比较严肃,但我不会的问题他都会给我讲一下答案/思路,总体而言感觉学到很多 介绍项目: 根据项目中的点发散思考+优化思路 1.布隆过滤器:怎么优化会没有删除问题,我说了两种思路 2.rpc的通信过程:如果用tcp这种流式通信协议,你觉得在反序列化过程中应该怎么解析(怎么组装+解析类名方法名) 3.介绍了一下哈希一致性算法 Mysql部分: 你知
进程和线程区别,进程间如何通信? 线程切换成本高原因,线程上下文包含哪些? 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. 做测试题 2. 面试正式开始 自我介绍 提问问题: 大学平时的活动内容是什么? 项目独立完成的比例如何? 遇到项目问题时的解决方法? Django 和 Flask 的区别? 之前从事 Java 实习,为什么希望转向 Python? 使用过 GitHub 吗? 过去获得的奖项详情 二面(技术面): 1. 自我介绍提问问题: 参加的竞赛相关(比赛内容、团队规模、负责工作、参赛方式、准备时
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
二面就不同了,二面的面试官不是做golang的,于是全场拷打八股,其实基本也都答出来了,算法也写出来了,不过还是挂了,可能是横向比较比不过别人 1. 为什么tcp握手需要三次而挥手需要4次 2. 内核态用户态 3. 虚拟内存相关 4. 中断流程 5. 进程间通信 6. 系统调用原理 7. GC 8. 内存逃逸 9. 设计模式..比如装饰器模式 10. 如何防止缓存穿透 11. 如何实现负载均衡 1
9.20 一面 1.自我介绍 2.介绍项目 3.实习项目15min 4.redis 的持久化极致 5.redis的内存淘汰机制 6.lru和lfu的区别,tiny-lfu,布隆过滤器 7.基于lru和lfu以及布隆过滤器设计一个缓存热key探测仪 8.mysql redo undo bin日志 9.undo 日志版本链 10.mysql changebuffer 唯一索引和联合所有哪一个插入效率更
#软件开发笔面经# 一面 8.30 (50min) 开局一道题 lc33。老哥看我写的代码看了几分钟,丁真一下细节 说说Golang中的Channel的数据结构是什么样的? TCP中四次挥手,最后一次为啥要进行等待2MSL? 如果让你设计一个分布式锁你会如何设计? 消息队列的使用场景是什么? Kafka如何保证高可用性? 问项目,问题都比较简要,自己在问题上拓展了一下 二面9.6 (40min)