前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《对线面试官》已阅,等面试中

《对线面试官》已阅,等面试中

作者头像
Java3y
发布2022-09-26 18:14:35
4330
发布2022-09-26 18:14:35
举报
文章被收录于专栏:Java3yJava3y

我是y哥的读者,已经毕业几年了,一直在做业务开发,最近想要跳槽。

对线面试官第一季花了大概一周时间吧,被我全部刷完了,刷的速度我觉得还算是挺快的,但是能记下多少,我就不知道了。。对于纯八股文而言,很多不是靠理解的,只要少用到就忘了,忘了自然在面试的时候就答不出来了,还是挺苦逼的一件事的,程序员真的太难了。

除了这些外,我还需要准备补下我用过的中间件,不过好多看y哥都没深入写过啊,比如ClickHouse/SpringCloud啥的,这些后面不知道y哥还有没有打算写,都是挺常见的技术栈(强烈暗示

)。

MySQL章节我看目录就三篇文章,分别是介绍索引、事务/锁/MVCC和调优的。

MySQL索引》这块只要接触过八股文的,都知道MySQL的索引是B+树的,但是被问到为什么是B+树,不看还真的一时没法组织好语言,原来便于遍历这个也算是B+树的理由。

回表/覆盖索引/最左匹配原则这个很早就知道了,为什么主键要自增,这个原来理由就是非自增会影响到插入效率,之前倒是没怎么想过。

MySQL事务和锁机制和MVCC》事务的几大特性从初学的时候就开始记,工作了几年之后还得把它给捞出来。持久性(redolog),原子性(undolog),隔离性(事务之间不影响,数据库会有隔离级别),一致性(它是目的,其他的特性都是手段)。

只要说到事务,就会有事务的隔离级别(uc/rc/rr/Serializable),我在校招的时候也被问到这些隔离级别是怎么实现的,面试前推演了一波,结果面试的时候紧张忘了,真尴尬。

  • uc:读不加锁,写加锁,读到未提交的事务
  • rc和rr都依赖MVCC,而MVCC的原理是read view和undolog,对比版本号来实现,只不过rc是与语句级的,而rr是事务级的。
  • Serializable抛开不谈

对于锁的话,只要记住在InnoDB下,命中索引用的是行锁,其他的是表锁。

MySQL调优》读完,说学到很多东西吧,好像又没有。说没学到东西吧,又不能这样说。这篇是以开发的角度去阐述的,本身我觉得是没问题的,但如果加些运维DBA的角度啥的,那将会绝杀。

线上的查询都应该要走索引,而走索引也可以看着场景去优化。我曾经在B站看过一个技术大佬分享,好像是购物车的案例吧。

跟这里的第六点不谋而合,大概的就是就是说:在一个事务内,本身是写的是更新在前,插入再后,后来把这个顺序改了(本身就没有依赖关系),然后插入的性能提高了许多。(就这么一个小的操作,就一定程度上避免了行锁的等待,进而提升了性能)

然后文章里探讨了如何走了索引,但是还是慢,还能怎么办的操作。思路也挺清晰的:1、数据能不能删 2、能不能上Redis 3、需不需要上Elasticsearch 4、多维度表打散,无需再join 5、OLAP平台能不能用?

后面又聊了分库分表的分库键,迁移的过程大概是怎么样的,这个经历过的都懂,不看也大概能说些。

下个章节项目场景类就三篇文章,我看了,觉得都不难,作为常年CRUD的我,不是啥问题,所以没使我有比较深刻的东西。

如何实现去重和幂等》唯一Key+存储,性能不够前置来凑。

系统需求多变如何设计》服务编排+规则引擎能解决,最近我看了个国产的服务编排(LiteFlow),还不错,给大伙推荐推荐。

设计模式》单例/责任链/代理/策略/模板这些在业务代码里也经常能用到,而Spring也大概这些吧,其他的设计模式我用得也不多了。

最后一个章节是计算机网络了,八股文又又又回来了。不过就两篇,HTTP和TCP。好久没看过了,又又又又被我忘了,这个我在校招的时候绝对是很熟的,因为无论哪个公司都会问网络的。

TCP三次握手和四次挥手》真的是经典面试问题啊。y哥总结还是不错的,三次握手实际上就是在确认通信双方(客户端和服务端)的序列号。连接本质上「只是互相维持一个状态,有连接特性」

而四次挥手的考点一般就是会考TIME_WAIT这个状态等待2MSL有啥用,过多了有什么问题。

HTTP》主要就考察HTTP每个版本有什么区别,现在重点应该还是在HTTP/2上,主要能聊的我感觉是二进制分帧和多路复用这块上。HTTPS也可能会考察下这个加密的过程。

后面等面试的时候,给y哥投下面经吧,实验下对线面试官的内容能占面试多少,我也挺好奇的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java3y 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档