模拟面试

2025-06-10日 老哥给我来了一个模拟面试,看到了自己的不足和欠缺

没有面试过真的不知道,面试官主要问的是什么,怎么问!

其实 简历是自己与面试官沟通的一个桥梁 根据简历,让面试官快速了解你,通过简历,能够知道问你什么知识!

对于项目的整体架构,流程,模块,功能是怎么了解的!技术选型是为什么? 你所回答的每一个问题,都会成为面试官下一步的追问点,对于每一步 你应该有所准备有所了解!代码的编写能力,不能落下!

修改简历,为你真正能够回答的你所涉及的知识,而不是为了好看而去写上,但问你你却答不出来,反而成了减分项!

基础不行(数据结构和算法 操作系统 计算机网络) 对于下一步如何正确的学习,老哥给了我一些方法和建议,我认为非常有帮助!



我说一个学习的方式:提问->解答->再提问的方式:
首先提出一个问题,比如TCP是什么?

TCP是传输层的一种可靠传输协议

得到这个答案后,我自然想问:

传输层是什么?可靠传输协议又是什么?

传输层是OSI网络模型中,负责提供抽象通道的一层协议集
可靠传输协议能够保证该抽象通道的数据能够从通道A端完整可靠地到达B端

得到上面的解答后,我又能够提问:
OSI网络模型是什么?可靠传输协议有哪些?可靠传输怎么实现的?

OSI是一种将承担不同责任的基础设施分层,并按照不同层将各自的通信协议分类的模型
可靠传输协议最常见的是TCP,其他的我暂时不关心
可靠传输主要通过重传实现,也就是说如果数据没有发到,再发一次

怎么知道数据有没有发到?

如果B端接收到了A端的数据,会发送一个ack,表示收到

如何判断对某个知识你是否真的理解了

这真的很重要!

我自己的感受就是很多知识学习了,会忘,那种感觉很难受,反反复复的看,总是记不住,时间花出去了但是没有收获到什么! 在被问道的时候什么也回答不上来!

也就是 有些东西你看懂了表面的行为,但是实际上并不理解本质

从表层开始思考

比如鉴权系统需要知道用户信息,否则就无法执行后续逻辑,那就是流程上存在数据依赖,如果是两台服务器提供并发服务,那么就是全局上要求两者的数据一致,但是只看通信就很好理解:数据从A到B,所以理解了一个简单易懂的机制后,学会追问为什么要这么做

说到底,没有记住的东西,一般是缺乏思考了 多问问自己,为了达到目的,我应该做什么?

话题展开

老哥说了关于粒度 和 维度 这词语在IT届 公司中很常用的词语,但是我确实不太理解是什么意思

什么是 "切分数据“? 这是我从没有涉猎过的一个词语

_事物本质往往更抽象

具体的东西很好理解和学习,适合入门_

例如搜索:MVCC

你并不理解MVCC是什么! 但是在网上搜索会有很多相关的文章, 实现大多是基于InnoDB,虽然你不知道是什么,但是文章中总是会将某个概念绑定到某个具体的实现

但实际上MVCC是一个抽象的概念它的作用是 :要求多版本共存,事务隔离(引发思考:MVCC是什么? 要达到什么要求?)为了实现这个要求,谁谁谁具体做了什么?

对于TCP:

传输是个抽象的概念,可靠的传输是个抽象的概念,落到TCP上就有了具体实现, 但是可靠传输不依赖TCP,所以写代码一般会先写接口

先约定接口,然后实现,这是一种思考方式!(实现能力,代码能力

然后反过来,我们看到一个设计,反过来想为什么要这么设计,目的是什么(抽象能力)

如果不懂某个概念应该去弄明白它的概念 , 然后从AI给你的一堆:SQL中的切分、数学中的切分、数据工程中的切分等等中,找到具体事物的共性

看了一段话,想一下为什么是这样,如果不是这样呢?

go从抽象的层面探讨并发编程的本质

慢慢啃,然后理解为什么会有锁、条件变量、channel各种并发原语,能不能用一种唯一的机制实现他们,为什么不用唯一的机制实现它们,等等

结合一点能激活大脑兴奋的事情 ,看书陷入困惑是容易放弃思考

需要的时候选合适的章节过一遍 把疑惑点选出来 再通过各种能激发思考途径解决

改正自己从头读到尾的看一本书 ,知识学不完的

让自己的思维喜欢上思考!慢慢来