菜鸟Java研发工程师(社招)面经

楼主有2年半的工作经验,之前想着抱着能走多远走多远的态度试了一试菜鸟的岗位,面试其实并没有准备充分,就是想挑战一下自己。补一下当时的面经造福群众。

一面:

上来先让我做了自我介绍,简单介绍了一下之前做过什么项目,用了什么技术等等,没有详细问项目的细节,但具体的功能和业务一定要讲清楚。
中间穿插着会问到一些基础知识。总共面了50多分钟,java基础能问的基本都问完了。
1、JVM垃圾回收,fullgc是否可以回收方法区
2、redis支持的数据类型到跳跃表,redis同步策略
3、如何自己实现lru
4、mysql索引的数据结构,为什么用B+树不用B树
5、事务隔离级别,聚集锁非聚集锁(问到了一个非常细节的问题:如何用可重复读的隔离级别避免幻读)
5、线程池的构造函数参数,队列的拒绝策略
6、spring相关、bean的生命周期,循环引用问题spring如何处理
7、concurrentHashmap1.8为什么放弃了分段锁
8、数据库分库分表相关

感觉一面主要考察的是知识广度。

二面:

1、springAOP的原理,动态***是怎么实现的
2、snmp
3、fullgc的时候会导致接口的响应速度特别慢,如何排查和解决
4、netty,如何避免的NIO空循环,零拷贝
5、问了一些简单的算法,说一下思路

二面考察的主要是知识的深度以及解决问题的能力。开篇常规先简单自我介绍以及介绍项目。


三面:

  1. kafka的replicas的作用,为什么比其他的消息队列好。
  2. 微博评论长链接短链接的问题,让我设计一个服务来处理长链接短链接,包括怎么读怎么存等。
三面面试官特别关注项目的实现和细节。为什么分这几个模块,每个模块做什么以及为什么要用这些技术,都需要非常清楚地解释,中间如果他有疑问会立马打断来问问题。

四面:

去菜鸟总部参加的面试。hr说这次是两名p8一起面,如果这轮能过,下一轮就是p9和hr一起,这面没过。
个人感觉这一轮面试着重点是项目设计上。面我的是两位面试官,简单的自我介绍后让我在白板上画最近负责的项目的流程图,期间经常问我为什么要这样设计?这样设计的好处是什么?有没有更好的设计方式?项目的数据量有多大?如果再增大100倍呢?碰到的真正的难题是什么?这两位面试官面了大概一个小时。
四面面试结束后让我等结果,大概这两位面试官和hr讨论了20分钟,最后hr进来告诉我不好意思这一轮面试没有通过,今天的面试流程就此结束了。
我觉得第四轮挂掉肯定是有很多原因的,自己的项目设计能力太差了,在分析项目的时候很多种情况没有考虑到。


#菜鸟网络##Java工程师##面经##社招#
全部评论
帮顶
点赞 回复
分享
发布于 2019-10-15 14:21
帮顶
点赞 回复
分享
发布于 2019-10-15 22:09
联易融
校招火热招聘中
官网直投
点赞 回复
分享
发布于 2019-10-16 22:39
可惜了✌(̿▀̿ ̿Ĺ̯̿̿▀̿ ̿)✌
点赞 回复
分享
发布于 2019-10-17 14:17
感谢大佬分享!欢迎参加社招面经活动~~ -------------------- 活动:社招面经征集|参加过社招的牛友,来发面经吧,拿京东卡
点赞 回复
分享
发布于 2019-10-21 14:41
两年半 就要做项目设计吗 恐怖
点赞 回复
分享
发布于 2021-01-06 22:01
菜鸟这么多面?
点赞 回复
分享
发布于 2022-02-28 07:52
点赞 回复
分享
发布于 2023-01-30 17:36 上海

相关推荐

第一题,直接把所有年龄的情况列举出来第二题,动态规划int main() {    int a, b;    // 全选    // 选择单个    // 复制所选    // 粘贴所复制的文本    int T; cin>>T;    int maxOP = 0;    vector OP(T, 0);    for(int i=0;i cin>>OP[i];        maxOP = max(maxOP, OP[i]);    }    vector dp(maxOP + 10, INT_MAX);    dp[1] = 0;    dp[2] = 3;    //dp[8] = 8;    // dp[9] = 10;    // dp[9] = 4 + 3 + 1 (3 + 3 + 3)    // 1 = 0    // 2 = 3    // 3 = 4    // 4 =    for(int i=3;i        for(int j=2;j            if(i % j == 0) dp[i] = min(dp[i],  dp[j] + (i/j)+1); //如果第j是第i的倍数,可以累计(i/j)个i            dp[i] = min(dp[i], dp[j] + (i-j) + 2); //这个后面才想到,必须要加这个,这个表示第i个可以使用单个复制粘贴到第j个        }        dp[i] = min(dp[i], 1 + i); //第i个使用1个来解决    }    for(int i=0;i        cout    }}第三题,没想到暴力也能过,直接暴力贪心,选取最大没访问过的房间攻击或者直接加当前战斗力的1/10,暴力就可以。第四题,模拟永杰无间,题目太长,就是模拟题,没写直接交卷了。
投递网易雷火等公司10个岗位
点赞 评论 收藏
转发
16 110 评论
分享
牛客网
牛客企业服务