秋招面经-小米-软件开发工程师-java方向

1、自我介绍

2、项目 1 拷打

3、实习拷打

4、WebSocket 在 Spring 框架中涉及到的一些类或者注解有哪些?

5、你认为使用 WebSocket 进行客户端与服务端的通信时,需要在业务侧写代码来做消息的确认吗?

6、一个微服务系统会涉及到哪些组件?项目中用到了哪些?

7、项目中 ES 的叶子查询是如何实现的?

8、MySQL 中有哪些存储引擎?InnoDB 和 MyISAM 的区别?

9、为什么 InnoDB 选择 B+ 树作为索引?

10、数据库的第三范式?数据库的设计为什么要遵循三范式?

11、Spring 中处理一个请求,会经过 Spring 的哪些模块去处理?

12、Spring 中的类在它启动之后,会执行哪些方法或者用到哪些注解?

13、静态代码块和构造方法,哪个先执行?

14、构造方法和 Autowried 哪个先执行?

15、了解过 @PostContrust 注解吗?这个注解和实现 InitializingBean 接口重写它的 init 方法,哪个先执行?

16、Java 中 HashMap 和 ConcurrentHashMap 有什么区别?

17、什么是一致性哈希?和正常的哈希有什么区别?

18、用过哪些设计模式?

19、线程的创建方式有哪些?

20、实现 Runable 接口创建线程和实现 Callable 接口创建线程有什么区别?哪一种接口可以拿到执行的结果?

21、一般线程池通过什么方式来创建?线程池有哪些核心参数?

22、谈谈线程池工作的流程

23、核心线程是一开始就创建了还是任务来了才创建?

24、假设一个场景,分别部署了 A 和 B 两个服务,A 服务需要调用 B服务,B 服务的执行时间比较长。B 服务执行完毕后,需要把结果返回给 A 服务,请你设计解决方法,如何让 A 和 B进行一个交互?(三种方案)

25、假如你有两个很大的集合,每个集合本身的数据是不重复的,但是两个集合之间的数据是存在重复的。集合很大,加载到内存中会出现问题,请你从数据结构和算法的角度来考虑,怎么样去找到两个大集合的重复元素?

26、假如在实际生产中,有一个接口的请求响应时间比较慢,如何去排查?

27、手撕:力扣 20.有效的括号;(2)手写单例模式

全部评论

相关推荐

📍面试公司:小米汽车🕐面试时间:10.22  -- 15:00(整体一个小时)💻面试岗位:安卓开发(接收java)❓面试问题:1、自我介绍2、是否接触过其他编程语言3、java的垃圾回收机制4、刚刚提到gc roots,哪些可以作为gc roots5、java的引用类型和c++的有什么区别吗6、java中基础数据类型和引用数据类型的区别7、java代码在不同系统上的运行流程8、介绍collections下的类9、谈谈ArrayList和LinkedList的区别10、hashMap访问的时间复杂度11、hashMap如何在不存在哈希冲突的情况下做到在0(1)的时间复杂度下找到元素举个例子;(其实就是考察为什么是2的幂次方,%等价于&)12、java中多线程难点以及注意事项13、ConcurrentHashMap等数据结构在多线程场景下还会有线程安全问题吗追问:在业务实际开发中如何去考虑线程安全问题(hashtable)14、反射应用场景15、动态代理技术如何实现的呢16、代理需要拿到原始对象吗17、Object中常见的方法18、提到了equals,那么重写equals有什么注意事项(hashcode)19、项目中遇到什么难点,怎么解决的20、手撕1、生产者消费者模型实现(我直接sync锁住整个消费者或者生产者了,面试官不太满意)2、实现斐波那契数列🙌面试感想:八股八股八股八股八股八股八股八股八股八股生产者消费者还是不太熟练,跟面试官说撕10-15分钟,结果干了20分钟
查看22道真题和解析
点赞 评论 收藏
分享
评论
4
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务