美文网首页
朴朴四轮面经-朴朴技术研发中心

朴朴四轮面经-朴朴技术研发中心

作者: 雨夜都行 | 来源:发表于2020-04-28 01:07 被阅读0次

    4月27日完成了朴朴的四轮面试(三轮技术面+一轮HR面),最终成功拿到了offer。下面分享一下面试中我被问到的问题吧。

    第一轮(1小时)

    1.自我介绍,项目介绍
    2.可以说说注册中心的原理吗
    3.你是怎么用redis的,用到了哪些数据类型
    4.你是怎么考虑某个数据是否需要加过期时间的
    5.说说redis的内存淘汰策略
    6.假如现在有个需求,网络爬虫需要判断某个URL是否被爬过,你会使用哪个数据类型
    7.因为redis内存有限,URL可能很多,你有没有更好的方式判断是否被爬过(这里因为前一个问题我回答了用set,所以面试官追问了我这个问题)
    8.那你能说说布隆过滤器的实现方式吗
    9.说说布隆过滤器的优缺点
    10.再说说布隆过滤器的容错率是如何实现的
    11.在项目中,你使用redis是什么架构
    12.redis主从有缺点,你能说说缺点吗
    13.那你有什么方式能够解决这些缺点
    14.读写并发的时候,会出现缓存与数据库不一致的场景,你怎么解决的
    15.能说说分布式事务的实现方案吗
    16.基于RocketMQ实现分布式事务,能有一个具体的应用场景说一下吗
    17.比如说有个场景,有可能会对消息进行重复消费,你怎么解决的
    18.可以再说说RocketMQ实现分布式事务的优缺点吗
    19.你刚才说的RocketMQ的使用场景。那现在有一个需求就是,服务A调用服务B,服务A执行成功了,这时候服务B执行失败了。你有什么其它方法保证数据一致性(当时脑子犯浑了答到别的方式去了。这个就两个服务的调用,对于服务B调用失败,直接用spring的事务机制就可以保证一致了)
    20.你对消息中间件是如何选型的
    21.你对哪个数据库比较熟悉
    22.可以说说Mysql的存储引擎有哪些,以及它们之间的区别吗
    23.在设计索引上,你会怎么考虑
    24.假如现在有一条慢查询,你会怎么进行排查
    25.说说你在项目中使用到的设计模式
    26.可以说一下策略模式吗
    27.可以说一下JUC吗
    28.你有什么想问我的吗

    第二轮(15分钟)-HR面

    1.你为什么从上家公司离职
    2.上次听你说你面试阿里第四轮失败了,有考虑为什么失败吗
    3.当时为什么考虑阿里
    4.除了阿里,还有考虑别的公司吗
    5.你的期望薪资
    6.你对朴朴了解多少
    7.HR进行朴朴的介绍(非常详细)

    第三轮(1小时20分钟)-技术组长面

    1.自我介绍,项目介绍
    2.项目中遇到的问题,怎么解决的
    3.说说Eureka作为注册中心,怎么判断服务是否可用
    4.假如服务A调用服务B,服务B可能宕机了,或者网络故障,这时候你会怎么解决
    5.服务A调用服务B,怎么保证它们之间的数据一致性
    6.zuul作为网关,你是怎么使用的,实现了哪些功能
    7.说说redis,你是怎么使用的
    8.你说到了布隆过滤器,可以具体的再说说吗,怎么实现的
    9.布隆过滤器有哪些缺点
    10.说说redis的集群
    11.知道redis的批处理操作吗
    12.针对这些批处理的操作,比如pipeline,mget,在redis的集群场景中会出现什么情况
    13.那你有什么方法可以解决批处理的这个问题
    14.对二进制的一些运算熟悉吗
    15.有一个需求,int有32位,有什么方法可以判断这个int中有多少位是1
    16.你也用过消息中间件,那你在使用的过程中怎么保证消息的不丢失。顺便可以举一个具体的业务场景吗
    17.JDK中有一个内置锁吗,你能说说它的原理吗
    18.JDK也提供了一些其它的锁,你可以说说吗
    19.那你可以说说,Synchronized和JDK中的锁的区别吗
    20.说说ConcurrentLinkedQueue
    21.说说阻塞队列
    22.CompletableFuture和Future的区别
    23.再说说你的项目吧,为什么这样分层,架构为什么这样设计
    24.最近在看什么书(我回答了netty)
    25.那你能说说netty的工作原理吗
    26.一道算法题:假如内存中有100亿的int型数据,你怎么找到top10数据(除了排序,求思路)
    27.你有什么想问我的吗

    第四轮(15分钟)-总监面

    1.自我介绍,项目介绍
    2.说说项目中你负责的模块
    3.可以具体介绍一下其中一个模块吗
    4.项目的团队有多少个人
    5.能说说redis中数据类型的底层数据结构吗(zset,跳跃表)
    6.说说排序
    7.可以说一下堆排序吗
    8.可以说说归并排序的思路吗
    9.说说递归的特点和缺点

    总结

    1.从我阿里和朴朴的面试经历来看,如果能和面试官聊得来,每轮技术面试的时间大致都是在1小时左右。技术面试流程大致可以看成是从 技术的深度 到 技术的广度,最后结合项目聊一些分布式或微服务架构下的解决方案。多方面的对应聘者的能力进行考察。
    2.基础很重要,这里说的基础主要是指深入到原理或者源码。
    3.对于常见的算法问题,一定要掌握。出去面试不能抱有侥幸心理。
    4.项目经历真的很重要。尤其是大数据量的分布式或者微服务的系统,毕竟现在整个互联网的大环境是这样子的,不管是出去面试,还是实际工作中。不会分布式,微服务,能叫做一个合格的JAVA工程师吗?如果你还在做一些纯CRUD工作,那么就真的需要考虑一下将来的职业发展了。

    知其然,知其所以然

    相关文章

      网友评论

          本文标题:朴朴四轮面经-朴朴技术研发中心

          本文链接:https://www.haomeiwen.com/subject/inwpwhtx.html