momenta一面

momenta一面

22届双非本科夹缝中生存,自己的语言是Java,面试官用go,所以没聊太多Java相关的

整个过程19分钟,最后算法做了半个多小时。

  1. 单例模式的实现方式?他跟我说有七种。我只知道双重锁,懒汉饿汉,这三种。我直接懵了,第一个就不会。
  2. Java的垃圾回收。强项,他不打断我我能说十分钟。
  3. 标记清除的优点和缺点,标记整理的优点和缺点。深入理解jvm有写。
  4. b树和b+树区别,时间复杂度是多少。开始我没分析出来,我把b+树和b树的种种区别列出来,然后引导我分析的。b树是logmn,m是底数是分的叉数,n是指数是层数。
  5. 用过MySQL的窗口函数吗?没用过,那要是查询一个表中每个班级的前五名怎么写。我说了两种,嵌套查询和left join。leetcode有类似的:https://leetcode-cn.com/problems/department-top-three-salaries/
  6. 算法:
    树上的每个节点都有一个权值,权值均>=0。现在需要从根节点出发,找到一条路径(不需要非得到叶子节点),使路径上的权值和为n。将路径打印出来,用尽量少的内存和时间,写出核心代码即可,结果直接print打印,不要用数组存储,正序反序均可,打印格式随意。
    // 例如,树的结构为

// 0 1,2,3

// 1 4

// 2 6

// 4 5 7

// 第一个数字代表父节点的序号,第二个数字列表代表当前父节点连接了哪些子节点。

// 节点权值为{5,7,3,8,2,1,1,6}

// 如果n = 20,则其中一条路径为 0,1,4,7 hit: 5 + 7 + 2 + 6 = 20

原来用list存储了一下,面试官问我能不能不用list存储,这里想了好久。

import java.util.*;

public class Main {
    public static void main(String[] args) {
        //System.out.println("Hello World!");
        TreeNode a = new TreeNode(0, 5);
        TreeNode b = new TreeNode(1, 7);
        TreeNode c = new TreeNode(2, 3);
        TreeNode d = new TreeNode(3, 8);
        TreeNode e = new TreeNode(4, 2);
        TreeNode f = new TreeNode(5, 1);
        TreeNode g = new TreeNode(6, 1);
        TreeNode h = new TreeNode(7, 6);
        a.children.add(b);
        a.children.add(c);
        a.children.add(d);
        b.children.add(e);
        e.children.add(g);
        e.children.add(h);
        c.children.add(f);
        int n = 20;
        ShowMeBug solution = new ShowMeBug();
        List<Integer> list = new ArrayList();
        list.add(a.val);
        //System.out.println(a.val);
        solution.dfs(a, a.val, list, n);
        //System.out.println(res);
    }
    static List<Integer> res = null;
    public int dfs(TreeNode root, int path, List<Integer> list, int target) {
        //System.out.println(root.id+" "+path);
        if (res != null) {
            return 0;
        }
        if (target == path) {
            //res = new ArrayList();
            //for (Integer i : list) {
            //  res.add(i);
            //}
            System.out.println(root.val);
            return 1;
        }
        if (root == null) {
            return 0;
        }
        //path += root.val;
        List<TreeNode> children = root.children;
        for (TreeNode child : children) {
            //list.add(child.val);
            int r = dfs(child, path + child.val, list, target);
            //list.remove(list.size() - 1);
            if (r == 1) {
                System.out.println(root.val);
                return 1;
            }
        }
        return 0;

    }


}
class TreeNode {
    public Integer id;
    public Integer val;
    public List<TreeNode> children;
    public TreeNode(Integer id, Integer val) {
        this.id = id;
        this.val = val;
        this.children = new ArrayList();
    }
}

兄弟们不要问过不过了,过了自然更新。反正我是一块砖,哪里需要哪里搬,哪过了去哪。

#Java工程师实习##面经##Momenta##校招##秋招#
全部评论
苏州嘛?mementa有java?
1 回复 分享
发布于 2021-07-13 22:35
如果是base苏州,通过的话可以联系我,我明天离职回学校了,屋子还空着,便宜转租
1 回复 分享
发布于 2021-07-14 21:51
北京momenta产品实习,楼主加个好友嘛
1 回复 分享
发布于 2021-07-19 11:31
楼主是视频面还是电话面
点赞 回复 分享
发布于 2021-08-23 09:39

相关推荐

评论
5
14
分享
正在热议
# 25届秋招总结 #
440428次浏览 4493人参与
# 春招别灰心,我们一人来一句鼓励 #
41455次浏览 524人参与
# 北方华创开奖 #
107285次浏览 599人参与
# 地方国企笔面经互助 #
7922次浏览 18人参与
# 虾皮求职进展汇总 #
114057次浏览 883人参与
# 实习,投递多份简历没人回复怎么办 #
2453918次浏览 34847人参与
# 阿里云管培生offer #
119762次浏览 2219人参与
# 实习必须要去大厂吗? #
55665次浏览 960人参与
# 同bg的你秋招战况如何? #
75478次浏览 551人参与
# 提前批简历挂麻了怎么办 #
149813次浏览 1977人参与
# 投递实习岗位前的准备 #
1195668次浏览 18546人参与
# 你投递的公司有几家约面了? #
33170次浏览 188人参与
# 双非本科求职如何逆袭 #
661868次浏览 7394人参与
# 机械人春招想让哪家公司来捞你? #
157600次浏览 2267人参与
# 如果公司给你放一天假,你会怎么度过? #
4723次浏览 54人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11332次浏览 270人参与
# 发工资后,你做的第一件事是什么 #
12405次浏览 61人参与
# 工作中,努力重要还是选择重要? #
35599次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20087次浏览 240人参与
# 实习想申请秋招offer,能不能argue薪资 #
39225次浏览 314人参与
# 我的上岸简历长这样 #
451915次浏览 8088人参与
# 非技术岗是怎么找实习的 #
155837次浏览 2120人参与
牛客网
牛客企业服务