上海小厂懂技术的面试官技术面
当时以为录音了,后期发现没录音,哭死。。。
自我介绍
因为他开场说对分布式感兴趣,所以就正常的个人信息结束后,在技能部分补充了对分布式的理解
如果面试官和你说他对你某个点感兴趣,在你能讲清楚这个点的前提下,请加大力度阐述
然后在个人技术方向部分多说了会分布式和云原生
参考模版: 姓名,学校,年级,专业 实习时间 主要语言,技术栈,数据库,中间件,目前学习方向 未来发展方向 个人开源经历/核心竞争力阐述 个人技术分享/校内/竞赛经历 个人项目/实习经历 希望能一起共事
讲讲你的开源经历
从shenyu到glcc
讲讲paxos项目
从CAP开始讲
(中间可以讲PACELC、BASE、Quorum,我忘了)
然后讲Paxos的两阶段提交
然后讲活锁
然后讲项目里自己怎么解决的(参考raft)
(他如果没让停,就可以继续说Raft)
讲完之后他说,你这个理解不错,本来准备问的问题都被你回答了。算法就免了。
我:算法还是要刷的
面试官:没办法才考算法,你这个可以不用考了
讲讲网关
南北向网关(APISIX),东西向网关(ShenYu)
我看你博客UV 7k,很高了,平时写些什么
主要是开源分享、后端技术分享和个人读书推荐
我看你博客里写了多级页表,讲讲
我看你写了零拷贝,能讲一下不?
零拷贝是一种硬件层面的优化,在这种方法中,并不是拷贝0次,而是减少了拷贝次数,如果不使用0拷贝,需要先将数据放到cpu中,然后再让其他进程读取,这样肯定会影响cpu的性能。
如果使用了0拷贝,并不需要将数据放到cpu中,而是让cpu通知具体的模块去做个事,也就降低了cpu的压力。
在正式介绍零拷贝结束(Zero-Copy)之前,我们先简单介绍一下DMA(Direct Memory Access)技术。DMA,又称之为直接内存访问,是零拷贝技术的基石。DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。因此通过DMA,硬件则可以绕过CPU,自己去直接访问系统主内存。很多硬件都支持DMA,其中就包括网卡、声卡、磁盘驱动控制器等。 有了DMA技术的支持之后,网卡就可以直接区访问内核空间的内存,这样就可以实现内核空间和应用空间之间的零拷贝了,极大地提升传输性能。
Kafka用到的零拷贝技术,主要是减少了核心态和用户态之间的两次数据拷贝过程,使得数据可以不用经过用户态直接通过网卡发送到接收方,同时通过DMA技术,可以使CPU得到解放,这样实现了数据的高性能传输。
https://www.jianshu.com/p/0af1b4f1e164
反问:您那边是做什么业务的,我需要做什么?
是做知识图谱和图数据库相关的,实习生的话会做一些图数据库相关的
记得要问自己做什么,还有他们在做什么
反问:您对我的项目有什么建议吗?
这个paxos可以再完善下,现在是非拜占庭问题,考虑怎么解决拜占庭问题。
还有PBFT 算法可以了解下
处理非拜占庭错误的算法有:paxos、raft和其变种
处理拜占庭错误算法有:pbft、pow算法
抓住机会,如果面试官懂你的技术栈,必问问题之一
记录个人的面试