58同城后端一面(1h+)
-
展开讲讲你做的这个 RPC 框架。
-
除了 Etcd 之外,你知道还有哪些组件可以作为注册中心吗?
-
了解 CAP 吗?
-
负载均衡这块是怎么做的?讲讲一致性 Hash 算法?
-
项目里面 SPI 机制是怎么去实现的呢?
-
了解过限流吗?有哪些限流算法,分别讲一讲?
-
通信协议这块是怎么实现的呢?
-
NIO 了解吗?讲一讲你知道的。
-
你项目中写了封装为 SpringBoot Starter,讲一讲这块你是怎么实现的?
-
讲一讲 Redis 的数据结构,以及它们的特点和应用场景。
-
布隆过滤器解决缓存穿透这块是怎么实现的?
-
那使用布隆过滤器会有什么缺点呢?
-
那对于它使用的位图数组,有什么方法可以保证里面的空间能够得到充分利用?
-
那使用缓存一般会出现什么问题呢?
-
分别讲讲缓存穿透、缓存穿透、缓存雪崩这三种情况一般怎么解决?
-
对 Spring 哪方面比较熟悉?讲讲 Spring 的事务管理吧。
-
那讲讲 MySQL 里面事务的属性分别有哪些?
-
MySQL 事务的隔离级别分别有哪四种?
-
那这四种隔离级别分别会存在哪些问题?
-
MySQL 索引的数据结构?
-
聚簇索引和非聚簇索引的区别?
-
如何分析 SQL 语句的执行情况?重点关注哪些字段?
-
为了防止索引失效,可以采用哪些方法?
-
那在什么场景下,我们会用到消息队列?
(解耦合、异步处理、负载均衡、流量削峰、提高可靠性)
-
你知道什么是接口幂等性吗?
-
Redis 分布式锁是可重入锁吗?
-
除了使用 Redisson 分布式锁,还有哪些方法可以保证接口幂等性呢?(CAS)
-
算法题:用 Java 去实现一个字符串转整数,写在编辑器里面。
然后问了我一下 leetcode 刷的多吗,我说不多,给我换了道题。
换成了反转链表,使用递归,一分钟就给过了。
反问环节:
-
想了解您所在的小组这边,主要做的业务方向是哪一方面的呢?
a. 招聘方面。针对蓝领人群的招聘业务,包括一些搜推等等,主要是做平台的后端开发
-
面试一共有几轮呢?
a. 三轮。
-
那我这边如果要加入的话,还有哪些方面需要提升的?
a. 感觉整体上还算 ok 哈
b. 像 RPC 框架这块,可以再去深入学习学习,给它完善完善
体验感非常好!真的,想去58了,好评++
其中有几个问题一时半会想不起来,面试官会一步步引导,将问题拆解开来解决。相当的赞!👍👍
#软件开发笔面经##58同城##校招##秋招#