美团一面
8.23 19:00 面试,秋招以来面试压力最大的一次(面试官人好,我太菜)看我答得太菜就问两个基础八股
面完20分钟电话通知约2面时间(给团子磕头了)
1. 自我介绍
2. 八股相关
2.1. HTTP 常见状态码
2.2. MySQL 事务
2.3. Java 线程池的核心参数
2.4. JVM 的 GC 机制
3. 非常规八股
3.1. 八股 1
3.1.1. 如果服务应用部署在 Linux 上,CPU 打满后,想查看哪个进程导致的,用什么命令?
3.1.2. 如果想查看是进程的哪个线程,用什么命令?
3.1.3. 想查看代码中哪个位置导致的 CPU 高,该怎么做?Java 应用怎么排查 CPU 或内存占用率过高的问题?
3.2. 八股 2
3.2.1. 数据库翻页(limit)查询时,发现越往后查询越来越慢,为什么?该如何修改 SQL 能解决?
3.2.2. Insert 或 Update,不用两个语句去分别判断,用一条语句实现存在就更新,否则就插入?
3.3. 八股 3
3.3.1. 统计一个学生的分数,每一行都是一个学生的异步任务的记录,有一个状态字段。服务是分布式部署,多应用实例,此时小明发起任务,希望一个请求只能落在一个实例上,创建一个异步任务。想限制同一时间只能有一个小明的任务,如何防止异步任务的重复发起(同时如果有一个状态时执行中的记录就不能再提交)
回答了个分布式锁防止重复任务提交,然后根据 id 和 status 去查小明是不是有执行中的任务,没有就能提交。(瞎答)
3.3.2. 不基于 Redis,只用 MySQL 怎么实现?
4. 手撕
力扣 - 无重复字符的最长子串
#秋招#