面试复盘 | 美团一、二面 许愿美团三面(已挂)
- 9.13 投递
- 9.15 笔试
- 9.24 一面
- 9.28二面
一面
- 进程和线程及其区别
- TCP和UDP
- TCP为什么要握手和挥手
- TCP为什么是三次握手
- 谈谈对HTTP的理解
- GET请求和POST请求的区别
- 讲一讲cookie
- cookie与session的区别
- MySQL的索引
- Redis速度为什么这么快
- Redis中的常用数据类型,以及项目中使用了哪种
- 项目中点赞显示怎么设计的?如果使用set,而对当前帖子点赞的用户也比较多,那是不是要把这个set都扫描一遍,使用的什么命令
- 帖子多人同时点赞,怎么保证并发的正确性(incr指令,原子性)
- 了解过哪些Java集合类
- HashMap底层怎么实现Java的volatile了解嘛
算法题:
- 合并两个有序数组
- 字符串格式化:给一个字符串,如果字符串的长度不够10就前面补0,如果超过10就截取后10位
二面
-
自我介绍
-
Java类可以使用哪些关键字进行修饰
-
Java中主要的数据类型
-
Java是值传递还是引用传递
-
继承和封装
-
重写和重载的区别
-
重写的时候子类能不能对父类方法的参数列表进行修改
-
HashSet、HashMap、HashTable的区别
-
contains方法是在HashMap还是HashTable中的
-
HashMap的负载因子为什么要是0.75
-
HashMap JDK1.7 和 1.8 的区别
-
HashMap使用红黑树提高了它的哪些性能
-
ConcurrentHashMap怎么实现线程安全的
-
volatile和synchronized的使用场景和实现原理
-
volatile能保证原子性吗
-
要用volatile还要保证原子性,可以使用什么方法
-
计算机网络分层、TCP协议属于哪层
-
TCP三次握手的流程
-
HTTP和HTTPS的区别
-
MySQL的索引
-
数据库的乐观锁和悲观锁、使用场景和区别、操作、实现方式
-
更新操作的乐观锁怎么实现
-
MySQL的原子性怎么实现的
-
MySQL的持久性怎么实现的
-
数据库宕机了怎么能够追回数据
-
binlog的作用
-
数据库宕机恢复数据是不是可以使用binlog进行解决
-
MySQL的两次查询都是直接查的磁盘吗
-
一条SQL语句,比如SELECT的执行流程
-
SpringBoot 的注解
-
SpringBoot的启动流程
-
SpringBoot的自动装配原理
-
设计模式
-
单例模式的饿汉和懒汉是怎么保证线程安全的
-
有使用过Linux系统吗
-
常用的Linux命令知道哪些
-
Linux下对JVM也有一些相关的操作命令有了解吗
-
聊一下CMS
-
最近再看哪些书
-
在学校期间有参加过学校的一些比赛吗
-
竞赛中的成长和收获是什么
算法题:
-
leetcode3.无重复字符的最长子串