安全狗 java面经30min拷打

1.介绍最拿手的项目,背景等等
2.项目是你自己完整实现的吗?
3.stringbuilder和stringbuffer的区别?线程安全性?如何保证线程安全?
(非安全,调用append方法。安全,底层用了锁)
4.synchronized锁是怎么实现的?加在方法上吗?
5.string是线程安全的吗?
(线程安全,定义就不可改变)
6.final关键字是修饰什么的?修饰类的时候可以被继承吗?修饰方法的时候呢?(变量,方法,类)
(修饰方法可以被继承不能被重写,修饰类不可被继承
)
7.java序列化和反序列化讲一下?底层是怎么实现的?
(jableio.serializable,objectinputsstream
serialversionuid了解吗?假如我序列化后修改了内容,反序列化还能成功吗?
(可以的,这个是控制版本的)
8.transient关键字了解吗?
(被这个关键字修饰的成员变量不会被序列化)
9.异常和error讲一下?包括?throws关键字?(不想内部处理异常就抛出去) throw关键字呢?(主动抛出异常,发现异常,手动触发异常处理机制)
10.redission实现了怎样的分布式锁?底层?
(加锁原理,可重复,删除锁)
(setnx以及lua脚本)
锁的续期?看门狗机制?
11.redis数据结构?
set和sortedset区别讲一下?(多了个score用来排序)
12.redis树怎么实现的?
(这个忘光了,没答出来)(跳跃表?字典?)不懂,求牛友告知
13.redis淘汰策略有哪些?你项目用的是哪个?场景是?具体在哪个文件设置?
14.mysql数据量有多少?你项目里面的?或者实习遇到的?
15.mysql常用的优化策略?你讲一个优化的案例?你是怎么知道mysql执行时间的?(说了网上查的命令行,好像是mysql日志)
16.你还用过哪些数据库吗?
17.索引的数据结构?B树和B+树的区别?
还有最左索引匹配?
18.MVCC机制怎么实现的?实现了什么事务隔离级别?(rc,rr)(rr是多次读数据都一样,rc是读到最新的)
19.幻读了解吗?mvcc是怎么解决的?
(判断完范围后,再通过版本号判断是否读取)
还有其他吗?(间隙锁gap lock)
20.实习做的什么?

反问:业务,自研ai
更新:等老板决定,会赢吗😭
#牛客解忧铺# #牛客创作赏金赛#
全部评论
校招问了这么多底层?还有怎么问了这么多就问了30min?
点赞 回复 分享
发布于 2024-12-20 22:19 江苏
我昨天也面了这个,问题差不多,面试官昵称是不是王xx
点赞 回复 分享
发布于 2024-12-20 00:06 北京
佬带带
点赞 回复 分享
发布于 2024-12-19 21:33 北京

相关推荐

2025-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重写/分库分表 → 验证:压测对比 → 监控:持续观察
点赞 评论 收藏
分享
2025-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走到底现在会不会不一样
点赞 评论 收藏
分享
评论
8
31
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务