小米南京春招面经

小米南京一面面经

一面(45min)

1、具体讲讲你的项目,服务如何拆分。
2、**功能如何做的。
3、数据库表的设计,索引的优化。
4、Spring IoC和AOP的概念?AOP的设计模式?IoC和哪个设计模式比较像?(√)
5、事务的特性?(数据的事务,写代码的事务)(√)
6、MySQL的事务隔离级别?(√)
7、讲讲MVCC?(√)
8、数据库最左匹配原则的原理?(√)
9、用什么方法测试我们的sql是否用到索引?(explain语句)
10、乐观锁和悲观锁。都举个例子(√)
11、讲一下synchrinzed关键字怎么使用?(√)

算法:【LC110 验证平衡二叉树】

class Solution {
    public boolean isBalanced(TreeNode root) {
        if (root == null) {
            return true;
        }
        int[] res = getDepth(root);
        return res[0] == 1;
    }

    // 返回值结构[0或者1,depth]
    int[] getDepth(TreeNode node) {
        int[] res = new int[2];
        if (node == null) {
            res[0] = 1;
            return res;
        }
        int[] left = getDepth(node.left);
        int[] right = getDepth(node.right);
        // 如果左右子树非平衡二叉树 或 左右子树高度之差超过1
        if (left[0] == 0 || right[0] == 0 || Math.abs(left[1] - right[1]) > 1) {
            return res;
        }
        res[0] = 1;
        res[1] = Math.max(left[1], right[1]) + 1;
        return res;
    }
}

当天通知一面通过啦~

再接再厉,二面冲冲冲!

==================== 更新 ====================

二面(51min)

1、从发起请求到浏览器展示页面的过程(√)
2、从DNS解析出来ip之后,怎么到服务器的?
3、Nginx的作用?Nginx可以做什么?(反向代理、负载均衡等等)
4、Spring Bean的生命周期(√)
5、Spring怎么处理Bean的循环依赖(√)
6、简述Java的发射机制(√)
7、怎样替换原始的String类?(破坏双亲委派机制)
8、HTTP1.1和HTTP2.0都有哪些改进?(√)
9、git rebase和git merge的区别?(分支树合并与否)
10、git提交记录可以合并吗?没有使用场景(可以,随便问的,不太重要的点)
11、git的过程?如何写入到index,如何推到远端(不太了解,会用)
12、简单介绍一下项目,架构,技术,数据怎么流传的
13、Mybatis和RPC重点介绍一下。
14、RPC怎么暴露服务,服务怎么调度的。
15、xx功能怎么实现,缓存热点数据可以怎么做?

算法:

1、【剑指 Offer 25. 合并两个排序的链表】
2、【LC106. 从中序与后序遍历序列构造二叉树】

反问

八股文和算法 整体上问的不难的,许愿一波offer~

==================== 更新 ====================

3.14 小米OC

#面经##面试题目##小米#
全部评论
当天就告知面试通过吗
点赞 回复 分享
发布于 2022-03-18 20:45
老哥,有后续吗?
点赞 回复 分享
发布于 2022-03-14 20:07
想问一下面试前有小米的测评吗?
点赞 回复 分享
发布于 2022-03-10 13:14
请问下楼主是什么时候投递的
点赞 回复 分享
发布于 2022-03-06 15:47
是什么岗位呀
点赞 回复 分享
发布于 2022-03-05 13:35
老哥厉害!
点赞 回复 分享
发布于 2022-03-04 22:44

相关推荐

评论
2
20
分享

创作者周榜

更多
牛客网
牛客企业服务