前言
给位小伙伴好,这里呢,分享一下最近一次美团的面试的面经,自己把面试的大多数内容通过博客的形式记录了下来,希望对各位有所帮助哦~
一、项目篇
1、**对于自己的点餐小程序数据库表是怎么设计的
2、对于多个人下订单的问题类似于多进程问题(这个问题是自己项目可以改进的点)
3、是否使用过部署在多台电脑上的项目(多点项目)
4、对于*****管理系统的功能模块有那些,使用的是什么项目架构
5、如何实现数据前后端的交互
6、介绍一下三个项目,那些是自己学习做的
7、之前有过一段游戏的实习,为什么没有走游戏开发的方向,而选择软件开发,为什么选择JAVA
二、八股文篇
1、redis中的分布式锁、持久化、五种基本数据类型、setnx()函数的功能与底层实现过程;
2、mysql中谈谈SQL注入、索引覆盖、select * from table1 where a,b,c如何设置索引(使用联合索引)、可不可以将上面的查询语句中的a,b,c交换位置(不行,要遵守最左配对原则)、索引为什么要使用B+ tree、B+tree的实现原理;
3、集合中常见的集合有那些(List三种、Set一种、Map两种)、List集合中那种集合是线程安全的、HashMap的底层原理(数组+链表)、JDK7与JDK8中关于HashMap的实现原理有那些不同;
4、Java基础中Object对象有那些常用的方法、==与equals()的区别、为什么要重写hashcode、String类型为什么不能别赋值(底层使用final修饰);
5、在Spring框架中谈谈IOC、依赖注入的原理和优点、谈谈线程池;
6、谈谈自己了解的设计模式:单例模式、工厂模式、代理模式------讲讲静态代理与动态代理的区别。
三、代码题
在一个整形的数组中,在数组中只有一值个是不重复的,其他的值都是有两个重复的值,找出不重复的那个值。
{11,11,12,13,13,16,16}