您好、欢迎来到现金彩票网!
当前位置:红黑大战作弊器助手 > 后端开发 >

但是具体原理可能答的有点出入

发布时间:2019-07-15 20:22 来源:未知 编辑:admin

  raft算法这个因为刚好在刷6.824(才刷到lab2。。。),答的也凑合,不过paxos和zab算法确实不熟悉,直接说不会。MySQL这块很熟了,包括索引,锁,事务机制以及mvcc等等,没啥说的,都已经补齐了。协程和线程,主要说了go程和Java线程的区别以及go程的调度模型。

  接着问为啥成本比较高?因为Java线程的调度需要在用户态和内核态切换所以成本高?

  后面反思应该先定位业务的特点,这个业务明显是读多写少,然后和面试官沟通一期刚开始的方案的用户量,性能要求,单机目标qps是什么等等?在明确系统的特点和约束之后再来设计,而不是一开始就是用典型互联网的那种通用架构自顾自己搞自己的方案。

  自己的回答情况,redis这块没啥问题,具体rehash有印象是渐进式的,但是具体原理可能答的有点出入。tcp的time_wait这块答的不是很好,之前没有了解过quic机制的实现,所以问可靠性udp的时候,基本上脑子里就照着tcp的实现在说。https这块没啥说的,之前项目里面有用到类似的东西,研究的比较清楚了。

  为啥在用户态和内核态之间切换调度成本比较高?简单说了下内核态和用户态的定义。

  这面面的是阵脚大乱,面试官采用刨根问底的方式提问,终究是面试经验不够,导致面试的节奏有点乱。

  8、索引的常见实现方式有哪些,有哪些区别?MySQL的存储引擎有哪些,有哪些区别?InnoDB使用的是什么方式实现索引,怎么实现的?说下聚簇索引和非聚簇索引的区别?

  后面还问了一个问题定位的问题,服务器CPU 100%怎么定位?可能是由于平时定位业务问题的思维定势,加之处于蒙蔽状态,随口就是:先查看监控面板看有无突发流量异常,接着查看业务日志是否有异常,针对CPU100%那个时间段,取一个典型业务流程的日志查看。

  3、知道udp是不可靠的传输,如果你来设计一个基于udp差不多可靠的算法,怎么设计?

  2、了不了解tcp/udp,说下两者的定义,tcp为什么要三次握手和四次挥手?tcp怎么保证有序传输的,讲下tcp的快速重传和拥塞机制,知不知道time_wait状态,这个状态出现在什么地方,有什么用(参考quic)?

  4、http与https有啥区别?说下https解决了什么问题,怎么解决的?说下https的握手过程。

  1、主要针对自己最熟悉的项目,画出项目的架构图,主要的数据表结构,项目中使用到的技术点,项目的总峰值qps,时延,以及有没有分析过时延出现的耗时分别出现在什么地方,项目有啥改进的地方没有?

  9、有没有了解过协程?说下协程和线、算法题一个,剑指offer第51题,数组中的重复数字?

  5、看你项目里面用了etcd,讲解下etcd干什么用的,怎么保证高可用和一致性?

  6、系统设计,思路,思路,思路,一定要思路清晰,一定要总结下系统设计的流程。

  经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于开始重拾面试信心,再次出征。

  答:起一个go程大概只需要4kb的内存,起一个Java线MB的内存;go程的调度在用户态非常轻量,Java线程的切换成本比较高。

  6、既然你提到了raft算法,讲下raft算法的基本流程?raft算法里面如果出现脑裂怎么处理?有没有了解过paxos和zookeeper的zab算法,他们之前有啥区别?

  1、redis有没有用过,常用的数据结构以及在业务中使用的场景,redis的hash怎么实现的,rehash过程讲一下和JavaHashMap的rehash有什么区别?redis cluster有没有了解过,怎么做到高可用的?

关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有