小米Android(java)开发一面面经
楼主java方向,一面四十多分钟,没问八股,总体来说比较简单,有些问题忘记了,面试官态度还好。
1.自我介绍
2.项目介绍(围绕项目展开场景问题,项目背景等)
3.个人优势
4.场景:用两个栈实现队列,先放入1,2,3,之后弹出1,再放入4该怎么放入
楼主答:两个栈分别作为主栈和辅助栈,主栈入,辅助栈出;先向主栈中放入123,在需要弹出的时候将主栈中的元素全部弹出到辅助栈出之后弹出1,此时主栈为空,可放入。直到辅助栈123全部弹出后,需要弹出时再将主栈中的元素全部弹出到辅助栈中,循环即可。
5.SSH框架了解吗
不了解只听说过,回答了SSM框架知识
6.SSM框架优缺点以及与springboot框架区别(楼主项目使用的是springboot)
7.SSM和SSH区别
8.设计模式:单例模式常见几种实现
饿汉式,懒汉式,枚举式
9.饿汉,懒汉之间的区别
饿汉线程安全,懒汉不线程安全。饿汉在属性中构建单例,懒汉在new时构建单例。这里楼主自己给自己埋了个坑,提了一嘴懒汉式的双重加锁,但是有些模糊了
10.双重加锁怎么加锁
先说了可以直接在getInstance方法上加锁。双重加锁的话可以在判断时和创建单例时加锁(不知道是不是,有些忘记)。
11.算法:二叉树的第k层共有多少节点?
比较简单,可直接递归
非递归可以使用层序遍历,用队列解决
12.反问
#小米22届秋招面试##小米##面试题目#