2022-07-16 计划和执行情况

112 阅读1分钟

计划

  1. 数据结构与算法
  2. 每日一课
  3. es
  4. 云原生

今日反思:

  1. 困了立刻睡觉

执行结果

数据结构与算法

给点一颗多叉树的头节点 head,返回处理后的头节点
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class A {
    public static class Node {
        public int value;

        public boolean showStatus;

        public List<Node> nexts;

        public Node(int v, boolean r){
            this.value = v;
            this.showStatus = r;
            this.nexts = new ArrayList<>();
        }
    }

    public static void main(String[] args) {
       Node head =  new Node(0, false);

       List<Node> headNodes = new ArrayList<>();
        headNodes.add(new Node(1, false));
        Node realNode = new Node(2, false);
        realNode.nexts = Collections.singletonList(new Node(4, true));
        headNodes.add(realNode);
        headNodes.add(new Node(3, false));
       head.nexts = headNodes;

       retain(head);
       System.out.println(head);
    }

    public static Node retain(Node head){
        //先处理
        //如果是空
        if(head.nexts.isEmpty()){
            return head.showStatus ? head : null;
        }
        List<Node> newNodes = new ArrayList<>();
        for (Node hea :head.nexts) {
            Node newNext = retain(hea);
            if(newNext != null){
                newNodes.add(newNext);
            }
        }

        if(!newNodes.isEmpty() || head.showStatus){
            head.nexts = newNodes;
            return head;
        }
        return null;


    }
}

每日一课

es 词库的更新

2件事
分词器
构建词库
  内容的完整性
  更新的及时性

常见做法
常见的词库维护方式
    冷更新
    热更新

热更新方法
    1 扩展词库接口方法
    2 数据库方法 
        需要修改源码

你为什么要换工作

好的说法 是从职业规划上说 比如 你就想走技术 新公司能给你资深研发/架构师的位置 就很好 比如 你想走管理,这次能带很多人,提升你的管理能力等等 都是好的

es 实战

tags in查询 terms

优化搜索结果 只查询 term 完全匹配的 添加 tag_cnt 字段 ,擦汗寻 tag_cnt 等于1 的

云原生

云原生 弹性伸缩

灰度发布

云原生的优势

image.png

云原生的 七大原则

image.png

微服务的挑战

image.png

Docker 模块声明

image.png

1 namespace

2 cgroup

3 network