前段时间有小伙伴去饿了么面试Java专家岗,记录了一面技术相关的问题,大家可以看看。 基础问题 1.数据库事务的隔离级别? 2.事务的几大特性,并谈一下实现原理 3.如何用redis实现消息的发布订阅? 4.java为什么要在内存结构中设计自己的程序计数器,为什么不使用内核的? 5.分布式事务2pc的过程? 6.redis是单线程的,为什么会这么快? 7.谈谈nio的实现,以及netty是如何设计的? 8.微服务化的时候,什么时候应该拆分,什么情况应该合并 9.什么时候应该使用消息,什么时候适合接口调用? 10.分库分表中如果让你设计全局id,如何设计 11.redis如何进行单机热点数据的统计? 12.redis集群中新加节点以后,如何给新节点分配数据? 13.如何从含有100亿个整数的文件中找出其中最大的100个?
业务场景的问题 1.银行转账场景中,如果要你对转账这块功能进行设计,你会重点考虑哪些问题? 2.银行转账场景中,a,b同时互转你该如何设计? 3.银行转账场景,并发向某一个账户转账(或者转出),该如何设计? 4.如何实现安全的减库存?回答用消息最终一致,库存量缓存到redis,每次生成消息前先减缓存,接着问,像淘宝这种平台,某个热销商品,qps很高的情况下,又该如何设计?
~欢迎大家留言交流,或者私信交流哦!!!