八股(30min)ArrayList和LinkedList的区别和特点以及使用场景如何将ArrayList变成线程安全并发包里有一个线程安全的ArrayList你知道吗?(不知道)CopyOnWriteArrayList听说过吗?(没听过,讲了一下CopyOnWrite)CopyOnWrite有什么缺点?适合什么样的场景?HashMap线程安全吗?它在并发包里对应的线程安全的类叫什么?currentHashMap如何保证线程安全的?为什么要将红黑树转化成链表?Java有哪几种方法创建线程?线程池的核心参数Executors工具类提供的四种常见的线程池说一下?newCachedThreadPool里的阻塞队列是什么?有什么特点?Java异常体系介绍一下?顶级父类是什么?(本来只答了Exception的,面试说Error也属于异常体系)编码过程中如何处理异常,最佳实践?CountDownLatch和CyclicBarrier了解吗?(知道是什么,底层不了解)JVM内存结构?哪些地方会发生GC?常见的GC算法?常见的垃圾回收器?Linux统计一个文件有多少行的命令?grep命令一般怎么使用?项目(50min)介绍SaaS短链接项目短链生成长链的算法前后端交互的数据格式是什么?为什么选择分表?为什么选择水平分表?分片键如何选择?为什么需要路由表?布隆过滤器?你在项目中用到布隆过滤器两面性的哪一面?项目中如何保证缓存一致性?有哪些方法保证一致性?延迟双删一定可以吗?Canal监听binlog的具体流程你知道吗?这里面MQ起到什么作用?(不知道)什么场景需要用到MQ?你的项目为什么需要MQ?MQ的死信队列了解吗?(美团里经常用,挺熟悉的,面试官说Canal监听binlog就用到了死信队列)MySQL的InnoDB引擎了解吗?底层数据结构是什么样的?聚簇索引和非聚簇索引的区别?可以有多个聚簇索引吗?索引失效的场景?abc联合索引,出了四个查询语句,问分别都用到了哪些索引MySQL的隔离性特点会带来什么问题?默认隔离级别是什么?为什么RR可以解决幻读?MVCC机制,当前读和快照读服务拆分怎么做的?你是如何理微服务?请求到达服务器,gateway、nacos、feign分别起到什么作用?feign的数据交互格式是什么?你是如何理解RPC的?(我说http、grpc、mq都可以算作rpc,面试官说核心就是一句话“调用远程方法如同调用本地方法”)什么是分布式锁?Redisson的实现有什么特点?如何理解可重入?setnx 和 设置过期时间 两步需要保证原子性吗?知道ThreadLocal吗?如何用ThreadLocal实现可重入锁?(不知道,没考虑过)倒排索引的概念?(面试官希望我脱离ES聊倒排)做题(10min)SQL题,面试官问我知不知道in 和not in,我说知道,面试官说那这题就不用做了判断链表是否有环,set去重2min秒了,面试官说很好很符合公司实际开发情况,然后让我换一个空间复杂度低一点的方法,双指针2min秒了面试官看我做得很快,笑着又出了一道返回有环链表的环,5min秒了反问什么业务总结美团面试官都温声细语,体验很好,问题也很基础,面试官夸我基础扎实知识完备,而且很多我答得不好的地方面试官都说没事没事已经答得很好了。然后面试官还教会了很多我没答上来的知识点,收获满满!赞美美团!而且美团的算法题也都是eazy和mid为主,太棒了!总体来说是体验很好收获良多的一次面试。
点赞 20
评论 14
全部评论

相关推荐

03-26 13:44
南华大学 Java
在看面经的花生米很野蛮:这种情况下你当然要回答,你也是吗!!!!我超喜欢他的XXXXX
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务