接好运
点赞 评论

相关推荐

03-26 10:55
已编辑
华南理工大学 Java
更新一下,面试完第二天一早就进池子了表现的实在不咋样,问到后面都开摆了hhh------------------------------------面试官人还是很好的,很耐心,一开始一上来就先介绍了一下他们部门的情况上来第一个问题是过滤器和拦截器的区别是啥?执行顺序是啥?以及实现原理的区别?然后又大概问了springsecurity是基于过滤器还是拦截器(哎,血的教训。本身就没怎么了解过springsecurity结果硬着头皮写上去,一问直接穿帮)然后还问了springsecurity有什么过滤器springboot如何自定义一个starter?比方说像MySQLstarter之类的Metainfo的配置以及用来做什么的starter的设计模式有哪些?然后就是认证和鉴权的区别是什么?接下来就是springboot模块:第一个是为什么开发者要自创线程池而不是直接用springboot的线程池??以及自建线程池有哪些指标需要去监控的?redis模块:第一个是集群相对于单机来说,有什么不同点集群是如何进行同步数据的集群模式是否容易丢失数据?以及如何解决丢失数据的情况?rdb和aof在使用的时候应该怎么选还有一个问题是,缓存穿透如果用空值法的话,如何避免大面积的内存被白白占用?redisson相比于setnx灵活在哪?采用延迟双删的情况下,如果MySQL数据库操作失败了怎么办?redis刷新token是如何保证用户无感的接下来是mybatis的:mybatisplus和mybatis的区别然后先问我有没用过jpa,我说没有然后说mybatisplus用到了很多queryweb?(这个也没准备好,不太会,甚至不知道说的是什么)最后一个是mybatisplus如何实现分类的接下来是sql语句优化:多表连接怎么优化多变连接的情况下,如果要分页查询该怎么改造?多表连接如何创建索引?联合索引是作用在哪里?然后就是join from groupby order的执行顺序MySQL内部如何提高扫描效率?(然后补充说有什么优化器)然后又回到了redis:点赞排行如何实现?用zset的话是不是只能存储短期的数据?那如果一周之后没了该怎么办?要如何刷新?最后问了个简单的,如何实现乐观锁最后手撕是最长不重复子串总结就是,传统八股题问的很少,场景题贼多,深一点的底层题还需要学下次再战
想潜水的哈士奇面向对象:因为是golang开发 刷一下我会的 认证确认用户是谁的过程,验证用户的身份。例如用户名密码登录、手机验证码等。 鉴权确定用户能做什么的过程,验证用户是否有权限执行特定操作。例如普通用户不能访问管理员页面。 集群相对于单机的不同点:易于扩展,高性能,高可用性,但是需要额外维护成本 集群数据同步方式:主从同步,增量同步,全量同步,异步复制 同步的时候有一个replication buffer缓冲区,会写入同步期间新增的数据,同步完rdb之后再同步这个命令,然后重放一次 集群数据丢失及解决方案: 集群模式可能丢失数据,主要原因是异步复制。解决方法:开启持久化(RDB/AOF) 调整min-slaves-to-write和min-slaves-max-lag参数(拒绝写入 RDB和AOF选择: * RDB:适合数据备份,恢复速度快,对性能影响小,但可能丢失最后一次快照后的数据 * AOF:数据安全性高,支持秒级持久化,但文件较大,恢复速度慢 * 建议同时使用:RDB做冷备,AOF做热备,利用各自优势 缓存穿透空值法内存占用问题: 1. 空值设置较短的TTL 2. 布隆过滤器 3. 后台任务定期检查和清理空值 Redisson相比setnx的灵活性: 1. 同一线程可多次获取锁 2. 自动续期 3. 锁超时 4. 分布式支持 延迟双删MySQL操作失败 不是很懂,这个失败了数据仍然是一致的吧,只是会有缓存击穿分险,正常报错响应客户端应该就ok
查看56道真题和解析
点赞 评论 收藏
分享
03-25 17:02
南京大学 Java
上周四晚上面的了,一直没消息,我都默认寄了结果今天约二面了,特此总结一下一面都问了什么。全程八股,时长50min。1. 自我介绍2. 项目的使用场景3. MySQL说了解什么(索引、事务、锁、日志、BufferPool)4. MVCC说一下5. 唯一索引和普通索引的区别6. 唯一索引和普通索引更新的时候哪个性能更好7. binlog怎么实现的主从同步8. binlog数据格式哪几种9. redolog和undolog如何配合进行故障恢复的10. binlog、redolog的两阶段提交11. Redis持久化机制,以及AOF的写回策略12. AOF全称是什么(寄,Append Only File)13. AOF为什么要先执行命令再写入14. Redis数据类型15. Redis底层数据结构,每种数据类型用的是什么数据结构16. quicklist对于双向链表的改进(忘了,是每个链表节点存了一个压缩列表)17. zset什么时候用跳表,什么时候用压缩列表/listpack18. 介绍线程池(参数、常见的线程池、阻塞队列、拒绝策略)19. 线程池的执行逻辑20. 阻塞队列的实现逻辑21. LinkedBlockingQueue底层用了什么?使用了几个条件变量?22. ArrayBlockingQueue和LinkedBlockingQueue的区别?23. 设计模式知道哪些?项目里面用了什么?Spring里面用了什么?Spring实现单例的细节?24. DCL加锁最重要的点是什么?25. 没有volatile会出现什么情况?26. 平时学这些东西有什么好的技巧吗?27. 手撕:有序链表合并许愿二面过,阮梅保佑
查看27道真题和解析
点赞 评论 收藏
分享
牛客网
牛客企业服务