选择题考的一些八股,编程考了一个消除字符串中相邻的相同字母
1 4

相关推荐

12-21 22:35
门头沟学院 Java
1、原理:每个线程维护一个ThreadLocalMap,以ThreadLocal为key存储变量副本,实现线程隔离。问题:内存泄漏(弱引用key被回收但value未清理)、父子线程无法传递。2、主要用于事务管理(TransactionSynchronizationManager)、请求上下文(RequestContextHolder)、安全上下文等,保证线程安全。3、冲突解决:ThreadLocalMap用线性探测,HashMap用链表+红黑树;扩容机制:ThreadLocalMap渐进式清理,HashMap一次性rehash;key类型:ThreadLocalMap的key是弱引用4、corePoolSize(核心线程数)、maximumPoolSize(最大线程数)、keepAliveTime(空闲时间)、workQueue(任务队列)、threadFactory、rejectedExecutionHandler(拒绝策略)5、通过ThreadPoolExecutor的setter方法:setCorePoolSize()、setMaximumPoolSize()、setKeepAliveTime()等,结合配置中心实现热更新。6、监听配置变更→参数校验→调用线程池setter方法→记录变更日志,通常结合Apollo/Nacos等配置中心实现。7、Zookeeper:强一致性、自动过期、惊群效应Redis:高性能、需手动续期、主从切换可能丢锁8、原子性(SET NX EX)、锁续期、主从一致性、可重入性、公平性、异常释放等。9、基于业务执行时间统计(P99耗时 × 2-3倍)+ 网络延迟 + 安全边界,配合自动续期机制。10、定位:慢查询日志/监控工具 → 分析:EXPLAIN执行计划 → 优化:索引优化/SQL重写/分库分表 → 验证:压测对比 → 监控:持续观察
点赞 评论 收藏
分享
12-22 17:59
已编辑
北京邮电大学 C++
6月的时候比较迷茫,发了个跟cpp选手如何走相关的帖子,也收到了很多牛友的回复(感谢大伙们)。最后是打算多学一门后端语言拓宽找实习的范围,go和java之间因为觉得springboot挺不错所以多学了一会java。最后发现其实cpp找实习没有想象的那么难,虽然方向多但还是有面试机会的,而且感觉写java后端没那么有意思,有点后悔感觉😥😥😥,而且约面以cpp为主下面写写面试记录以及一些感受吧项目:1cpp项目1java项目timeline:10.1开刷代码随想录+hot10010.14 快手音视频架构 一面挂10.21 百度搜索架构cpp 一面过了好几天挂(感觉答得差不多算法也写出来了)10.27虾皮推荐系统cpp 一面 10.30 二面挂10.29托特私募笔试,之后线下面聊得挺好的但是一周后挂10.31 腾讯csig音视频相关cpp 一面挂11.6京东java后端 一面 11.11二面 11.13三面挂11.17京东安全java后端 一面挂12.02蚂蚁oceanbase数据库内核cpp 一面 12.05二面挂有几个小厂过了,但感觉不喜欢干,拒了之前总怕面不同cpp岗位会问很多相关知识,实际上大部分还是根据简历问的,因为项目基本是自己手敲部署的,所以对项目很熟悉,关于项目的问题基本都能跟面试官聊很多,不过cpp岗手撕经常出问题,比如虾皮的叫我撕线程池啥的之前没准备,而且通常需要比较熟计网操作系统数据库,这些还没学过之后回归cpp了,打算多学学计网操作系统数据库,做一下cmu15445,不知道如果6月的时候打算cpp走到底现在会不会不一样
点赞 评论 收藏
分享
一面 202512021.MySQL索引2.MVCC3.Redis缓存击穿、缓存穿透、缓存雪崩4.使用Redis分布式锁需要考虑哪些问题(1)互斥,保证同一时间(2)防止死锁:过期时间+自动续期(3)防止锁被误删:先校验再删除(4)释放锁是原子操作(5)锁的续期5.Redis持久化:RDB+AOF(1)RDB:(2)AOF(3)混合6.kafka消息持久化7.RocketMQ和kafka的区别8.项目:分布式会话鉴权、RPC为什么使用TCP协议、RPC这个项目主要实现了什么?9.实习10.TCP和UDP区别11.UDP如何保证数据是正确的?在哪一层实现的?12,手撕:输入:l1 =[7,2,4,3],l2_[5,6,4]输出:[7,8,0,7]解释:7243+564=7807二面 202512051.介绍实习中比较有挑战性的工作2.Redis分布式锁是自己实现的还是第三方封装好的接口?--项目里其他人实现的?3.那你知道是怎么做的吗?--不知道4.自己想实习分布式锁,有什么思路?--首先要保证加锁和释放锁都是原子性的,锁的key,超时时间,支持重入5.微信支付的话,有个微信授权,这个微信授权过程是什么样的?比如说淘宝,支付可以选择支付方式,我怎么授权给淘宝??--其实这个我根本没听懂问什么?6.点评项目里缓存技术,使用了布隆过滤器的目的,为什么能解决缓存穿透的问题?7.前提是不是全部数据加载到布隆过滤器??如果数据量很多,全部加载到布隆过滤器??误判率增高,会不会影响效果??布隆过滤器里存数据,数据有删除的话,怎么解决??项目里用布隆过滤器内存多大??自己实现的还是第三方已有的?自己实现的内存有多大??误判率有多大??---给我问懵了😭8.为什么做RPC框架项目?为什么不采用已有的RPC?这个项目是怎么做的?有没有调研已有的RPC框架是怎么做的?和已有的RPC框架有什么区别?DUDDO底层协议是??有没有做过性能比对?你怎么知道你这个协议性能比较高?9.用到了很多中间件,了解程度,会不会更深层次的去了解这些组件?用的最多的哪个?Redis的底层机制,他的优势?10.Redis有持久化,能不能存储核心数据?能不能直接使用Redis当db,这样就没有缓存一致性问题了?--Redis的持久化都有数据丢失的风险11.什么情况下会丢失??-RDB:在上次持久化之后到下次持久化之前,如果宕机,会丢失数据;AOF:持久化的是写命令,AOF文件可能会损坏12.那mysql临时断电,会不会也有内存到数据库的时候数据丢失的风险?像redo undo这种日志也是在内存里,没刷到磁盘之前,数据库重启了,会不会有数据丢失的风险?13.你还有什么你的某些优势我没有了解到的?--尬住了。。
查看24道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务