架构师训练营第 8 周

发布于: 2020 年 07 月 29 日
架构师训练营第8周

作业一:

以下两题,至少完成一道

有两个单向链表(链表长度分别为 m,n),这两个单向链表有可能在某个元素合并,如下图所示的这样,也可能不合并。现在给定两个链表的头指针,在不修改链表的情况下,如何快速地判断这两个链表是否合并?如果合并,找到合并的元素,也就是图中的 x 元素。

请用(伪)代码描述算法,并给出时间复杂度和空间复杂度。

 



class Solution(object):

    def getIntersectionNode(self, headA, headB):

        """

        :type head1, head1: ListNode

        :rtype: ListNode

        """

        lenA, lenB = 0, 0

        pA = headA

        pB = headB

        while pA:

            pA = pA.next

            lenA += 1

        while pB:

            pB = pB.next

            lenB += 1

        pA = headA

        pB = headB

        if lenA > lenB:

            for i in range(lenA-lenB):

                pA = pA.next

        else:

            for i in range(lenB-lenA):

                pB = pB.next

        while pA!=pB:

            pA = pA.next

            pB = pB.next

        return pA

 

请画出 DataNode 服务器节点宕机的时候,HDFS 的处理过程时序图。

  • 一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。

  • DataNode启动后向namenode注册,通过后,周期性(1小时)的向namenode上报所有的块信息。

  • 心跳是每3秒一次,心跳返回结果带有namenode给该datanode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个datanode的心跳,则认为该节点不可用。

  • 集群运行中可以安全加入和退出一些机器

 

作业二:

1 数据结构与算法

复杂度、NP

2 网络与数据库

时间、空间复杂度

链捕

二叉树

队列

hash表

红黑树

3 常用算法

穷举、递归、贪心

4 OSI 七层结构、TCP/IP四层

传输层TCP、应用层HTTP

网络数据包

用户头像

还未添加个人签名 2020.05.25 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
作业请添加“极客大学架构师训练营”标签,便于分类
2020 年 07 月 29 日 17:49
回复
没有更多了
架构师训练营第8周