小红书后台实习一面大概率凉经

#面经##小红书##实习#
1. 你写的网关为什么用 Netty ,有什么好处?
2. 你刚刚讲到 Bytebuf,有两种,聊聊直接分配的内存和堆分配的内存的区别?
3. 直接内存可以做 GC 吗? 
4. 如果不会被 GC 不会跑不下去吗? 
5. 你说的就是真实的回收吗?
6. 内存池可以怎么设计,你可以讲讲你的思路吗? 
7. 讲讲第一种思路的具体场景,比如 10MB 的一个内存?
8. 那现在我们考虑一个场景题,如果 FullGC 很频繁你觉得会是什么原因导致的? 
9. 那假设没有出现内存泄漏呢? 
10. 那对于这种内存出现问题的场景你会怎么排查呢?)
11. 我看你简历上写了 ELK 这个技术栈的方案,问一下 ELK 这套东西你是怎么做的? 
12. 你的日志收集是怎么做的,用的是 FileBeat? 
13. 好,那么你都是在不断地收集日志和写日志,那这个读写不会作为一个瓶颈吗?
14. 好除此之外你有没有听说过 MMap 和零拷贝的概念?
15. 你对 ES 有什么了解?
16. 你用过 ES 的原生 api 吗? 
17. 为什么 ES 你说是接近实时的而不是实时的?
18. 讲一下你的 CI/CD 是怎么做的? 
19. 你刚提到了云厂商去做了很多方案,这些方案就是为了所谓的云原生,了解过吗?
20. 聊一下网关项目里的 disruptor?
21. 聊一下自己写 CAS 有什么问题? 
22. 算法题:不含重复字符的最长子串?

我的回答放到图片里了,能不能来个佬指导一下,特别是直接内存 GC 的问题。
全部评论
啥啊,一个不会
4 回复 分享
发布于 2023-11-19 20:38 广西
回答挺好了,实习问这难度很夸张
1 回复 分享
发布于 2023-11-16 23:38 四川
太牛了,哥们,后续如何
1 回复 分享
发布于 2023-11-12 01:41 广东
直接内存感觉是和虚引用来记录状态回收 区别于堆中的gcroot
1 回复 分享
发布于 2023-11-10 19:50 广东
lz在哪儿投的呀
1 回复 分享
发布于 2023-11-10 13:07 重庆
需要的友友可以看看我首页,mihoyo有大量实习和正式内推,可以咨询
点赞 回复 分享
发布于 2024-01-05 08:50 上海
这强度太大了
点赞 回复 分享
发布于 2024-01-01 19:47 贵州
这tm啥呀 一个都不会
点赞 回复 分享
发布于 2023-12-28 23:17 陕西
m
点赞 回复 分享
发布于 2023-12-12 22:45 湖南
请问一下 这个网关的项目是哪里做的呢?
点赞 回复 分享
发布于 2023-12-04 23:38 福建
太难了,我不配去xhs实习
点赞 回复 分享
发布于 2023-12-04 08:41 山东
要是我回答的话我大概会这么说: 在我看来根本就不存在直接内存的GC这一说法。Netty 也好ES也好kafka也好,在版本迭代中把一部分数据结构放到堆外就是为了防止GC的随机性带来的抖动。这是语义层面,对于堆外的内存我更倾向的说法是归还或者释放。 java服务是一个进程,向os申请了一块内存(大内存申请一般是依赖mmap这个系统调用),而且这块内存不归jvm管。jvm内部只维护一个指向堆外内存的指针而已。 使用者必须要全权负责这块内存的生命周期。所以一般的策略是将其池化,引入相关的策略管理这片“非法”区域——可以参考一下netty的做法。 至于所谓的gc,其实就是将申请的内存归还操作系统。这部分只能交由jvm做,我记得应该是在回收bufferpool对象时执行它的销毁方法从而归还该块内存。
点赞 回复 分享
发布于 2023-12-03 16:59 北京
网关?小付哥的项目?
点赞 回复 分享
发布于 2023-11-21 09:19 上海
太狠了,这问题
点赞 回复 分享
发布于 2023-11-14 16:36 湖北
小红书投多久约面呀
点赞 回复 分享
发布于 2023-11-13 12:03 陕西
直接内存不是堆内存,需要手动gc吧,我记得是这样
点赞 回复 分享
发布于 2023-11-13 06:05 北京
电✌🏻太强了
点赞 回复 分享
发布于 2023-11-12 10:58 北京
这和秋招基本上是一个难度了🤣给你上对抗了
点赞 回复 分享
发布于 2023-11-11 22:07 北京
这么难?太强了⑧
点赞 回复 分享
发布于 2023-11-10 18:52 湖南
metricbeat不是microbeat
点赞 回复 分享
发布于 2023-11-09 23:05 四川

相关推荐

数据库平台开发实习生 - 技术一面(算法太烂了,建个链表建半天,面试官等不住了,居然还用了c++语法,太招笑了)面试问题速览1. 请做个自我介绍。2. 能讲一下你实习项目中,分布式锁这块你是怎么实现的吗?3. 讲一下你自学的 Raft 一致性算法。4. (追问)讲一下 Raft 的日志复制这块。5. 你的 AI 项目里,RAG 是怎么做的?向量数据库是怎么选型的?6. 讲一下 Function Calling 的概念和应用。7. 现场算法编程:删除链表的倒数第 N 个节点。(LeetCode 19)我的回答策略与分析【针对问题】分布式锁的实现原理【回答策略】:我采用了“方案演进式”的回答方法。1. 起点:从最基础的 SETNX + EXPIRE 方案讲起,这是最容易想到的起点。2. 主动暴露问题:立刻指出该方案的缺陷,即两条命令非原子性,在极端情况下会导致死锁。这能体现出你思考的严谨性。3. 方案升级:提出使用 Redis 2.6.12 之后提供的原子性命令 SET key value NX PX milliseconds 来解决上述问题。4. 再次深入:继续主动挖掘该方案的潜在问题,即“锁过期了但业务没执行完怎么办?”,引出更高级的“锁续期”概念。5. 最终方案:最后点出 Redisson 等成熟框架是如何通过“看门狗(Watchdog)”机制来自动续期,保证业务执行期间锁的有效性。【回答分析】:这个回答策略的效果非常好。它向面试官展示的不仅仅是你“知道”分布式锁,更是你“理解”它背后的设计权衡和技术演进逻辑。这种结构化的、由浅入深的讲解方式,能清晰地展现出你的技术深度和体系化的知识结构,是面试中一个巨大的加分项。【针对问题】Raft 共识算法的核心原理【回答策略】:我使用了“框架先行,细节填充”的策略来解释这个复杂的理论。1. 理论破题:先用一句话的 CAP 理论来给 Raft 定位,表明它是一个保证一致性(C)和分区容错性(P)的系统,这能快速和面试官对齐上下文。2. 结构化拆解:直接引用 Raft 论文的核心思想,即“将复杂问题拆解为三个子问题:领导者选举、日志复制、安全性”,为后续的讲解搭建清晰的框架。3. 分点阐述:逐一讲解“领导者选举”(Follower -> Candidate -> Leader 的状态转换、心跳、任期、投票过半)和“日志复制”(日志强制覆盖、复制到大多数节点才 commit)的核心机制。【回答分析】:对于复杂的理论问题,最忌讳的是一上来就陷入细节。先搭框架再填充细节,能让你的讲解非常有条理,也方便面试官跟上你的思路。能够清晰阐述自学的底层理论,是展现学习能力和技术热情的绝佳机会。【针对问题】现场算法编程(复盘与反思)【回答策略】:我的第一反应是采用最稳妥的“两次遍历”解法:第一次遍历计算链表总长度 L,从而确定要删除的是正数第 L-n+1 个节点;第二次遍历找到该节点的前一个节点,执行删除操作。【回答分析】:这个思路本身是完全正确的,能够解决问题。但在这次面试中,我最大的不足暴露在了编码的熟练度上。1. “辅助代码”耗时过长:我在“如何根据输入数组构建一个测试用的链表”这个环节卡了比较久,占用了宝贵的思考和编码时间。2. 语法细节混淆:在紧张状态下,写出了 int* 这种非 Java 语法,说明对语言细节的肌肉记忆不够牢固。3. 核心反思:这提醒我,平时刷题不能只停留在 LeetCode 网页上写核心函数。一定要在本地 IDE 里,进行从零开始的、包含数据结构定义和测试用例的“实战模拟”,才能真正提升现场编码的速度和准确率。对于“快慢指针”这种更优解法,也应当做到熟练掌握。
查看7道真题和解析
点赞 评论 收藏
分享
08-29 00:15
已编辑
中南大学 C++
岗位:软件开发工程师(后端)面试timeline:8.7投递-8.9第一次笔试-8.16第二次笔试-8.25一面问题40分钟:1.介绍多态,重载、重写底层如何实现2.野指针和悬挂指针出现场景,产生什么后果,如何解决3.介绍智能指针,什么操作会导致共享指针引用计数加1、减14.如果想把一个智能指针的释放控制在某一个线程内应该怎么做?这个我不会,面试官说要让指定线程一直持有着它,然后再释放,我还是没太懂5.对堆和栈的理解6.申请堆空间的方式,两种方式的区别7.STL库有了解吗?vector有了解吗?8.除了添加元素时容量不够会扩容,还有什么时候会扩容?这个我不知道,面试官说还有一个用来动态扩容的容器阈值,当前申请的内存超过阈值时会提前申请。9.vector底层数组在内存分配上是什么特性10.还有其他内存分配方式吗11.为什么有epoll,epoll的水平触发和边缘触发12.tcp三次握手13.对于客户端和服务器而言,是怎么认出这个tcp连接的?我当时一直没get到面试官的意思,现在想想应该是想让我回答四元组标识一条连接吧?14.客户端和服务器的fd都是什么时候生成的15.连接队列满了会给客户端返回什么?不清楚,面试官说reset16.进程和线程。我当时有点昏头了,说进程不能很好的利用多核cpu,面试官说多进程也可以用多核17.进程间通信18.linux排查问题的相关命令:查网络连接、查网络连接个数、grep反向查找手撕:反转链表我发现如果面试官比较满意前面的问答的话,出的题就比较简单一点
查看18道真题和解析
点赞 评论 收藏
分享
评论
27
148
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务