算法题:

    • 1、两个String格式的非负整数相乘,不能使用BigInteger
    • 2、链表去重
    • 3、实现一个push,pop,getMax函数都是o1复杂度的栈
    • 4、链表中心结点向外打印
    • 5、实现一个LRU算法的get,set方法,要求o(1)复杂度
    • 6、输入正整数n,n<9,输出1到n的全排列。例如输入3,输出[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]
    • 7、n块钱,用面值为1 2 5 10的硬币 有几种组合方式(二面
    • 8、实现一个栈,pop 和push getMax O1复杂度 —— 单调递减栈
    • 9、快排
    • 10、三数之和
    • 11、打印一个字符串所有字母所有可能的排列组合,比如输入abc,打印abc acb bac bca cab cba六行
    • 12、不同路径
    • 13、给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。

    岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。
    此外,你可以假设该网格的四条边均被水包围。(一面)
    示例 1:
    输入:grid = [
    [“1”,”1”,”1”,”1”,”0”],
    [“1”,”1”,”0”,”1”,”0”],
    [“1”,”1”,”0”,”0”,”0”],
    [“0”,”0”,”0”,”0”,”0”]
    ]
    输出:1
    示例 2:
    输入:grid = [
    [“1”,”1”,”0”,”0”,”0”],
    [“1”,”1”,”0”,”0”,”0”],
    [“0”,”0”,”1”,”0”,”0”],
    [“0”,”0”,”0”,”1”,”1”]
    ]
    输出:3

    • 14、给定两个整数数组,preorder 和 postorder ,其中 preorder 是一个具有 无重复 值的二叉树的前序遍历,postorder 是同一棵树的后序遍历,重构并返回二叉树。

    如果存在多个答案,您可以返回其中 任何 一个。(二面)
    输入:preorder = [1,2,4,5,3,6,7], postorder = [4,5,2,6,7,3,1]
    输出:[1,2,3,4,5,6,7]
    示例 2:
    输入: preorder = [1], postorder = [1]
    输出: [1]

    • 15、给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。

    请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。(三面)

    • 16、leetCode 739
    • daily temperature 单调栈
    • 17、一个人一年365 天都可以去旅行有三种规格的门票对应三个价格1元的可以用1天,5元的可以连续用7天,15元连续用30天。给定一个时间数组,求这个数组的这些时间如何买票最便宜
    • 18、找指定数组的最大重复数(8 一面)

    场景设计:累计客户的消费金额,达1000,2000,3000送不同礼物。用户体量千万级,怎么设计

    • 19、滑动窗口最大值——单调队列
    • 20、链表两数相加
    • 21、算法是反转链表

    八股文:
    1、oom异常是否导致进程死掉
    2、tair的几种选型
    3、opensearch select语句执行过程
    4、opensearch使用过程的问题以及线上线下应用切换
    5、mysql B+树 select语句索引树搜索过程(联合索引)select语句查询优化
    6、数据库多机房容灾、主备机房切换、数据同步、全同步/半同步