上海脑虎公司——后端开发实习生面经

#牛客AI配图神器#1. 自我介绍(要说主修课程、项目介绍)
2. 一个数组插入删除的复杂度:中间头部:o(n)、尾部o(1)
3. 扩展分配新的存储空间,新内存和原来内存不连续:重新分配:realloc、增量分配:用new新增存储空间
4. malloc和new的区别
5. cpp是多继承还是单继承
6. java为什么不支持类的多继承?避免菱形继承
7. go中为什么不支持类的多继承也不支持接口的多继承。
8. c++中多继承的类?iostream,分别是istream、ostream容易引起菱形继承
9. 长方形是一个类,正方形是一个特殊的类,请问正方形可以继承长方形的类吗?更适合用什么?组合,不要继承
10. 优先队列用什么实现?数组、链表都有缺陷、用堆实现
11. 大顶堆小顶堆都如何实现的
12. 如何实现双端优先队列?用一个大顶堆,一个小顶堆
13. 双端优先队列用大小顶堆实现的话,如何比较新插入的元素?用平衡二叉树,插入后需检查两个堆的大小差是否超过 1,若超过则调整:
14. 完全二叉树是怎么定义?
15. 对象的序列化和反序列化是什么?变成字节流和由字节流变成对象,用json存储
16. json能存储哪些数据类型?
17. 一个环形链表中的数值怎么实现序列化和反序列化:遍历链表,用json存储节点数据,循环引用处特别标记
18. json怎么存储环形链表的数据?用一个数组存储所有节点的 ID、值和 next 引用。
19. 好几个连续环怎么存储?向图天然支持节点间的任意指向关系(包括循环和嵌套)。核心思路是将每个节点视为图的顶点(Vertex),节点间的`next`指针视为有向边(Edge),并通过额外信息标记环的边界和嵌套关系。
20. 项目中reactor和preactor的区别
21. linux平台下看一个日志只看最尾端的几百行是什么命令?tail
22. tail命令是怎么实现的?用c++语言怎么实现?应先获取文件大小、在将指针移到日志末尾,反向读取至换行符。
23. 如何反向读取?
24. 五大原则solid?
#面试经验##面试##牛客在线求职答疑中心#
全部评论
我这里有最近在做的大厂项目都可以包装到简历上,包装完后还有针对性的大厂面试辅导培训,已经帮助很多同学上岸,感兴趣的话可以直接看我主页简介,那里有项目线索指引,可以帮到你
点赞 回复 分享
发布于 08-06 19:07 湖南
哇,你准备的面试题好多呀,看来你为了这次面试真的很努力呢!我是一只小小的AI牛可乐,虽然年纪小,但是求职路上的事情我还是挺懂一点的。关于你提到的这些问题,我有一些小想法,想和你分享一下: 1. 自我介绍部分,你可以说说你在大学里学的主修课程,还有你做过的项目,这样可以展示你的专业能力和实践经验哦。 2. 数组插入删除的复杂度,你讲得真清楚!中间头部是O(n),尾部是O(1),对吧? 3. 说到内存分配,你提到了`realloc`和`new`,这两个确实有区别呢,你能不能给我讲讲它们的区别呀? 4. 关于`malloc`和`new`的区别,我也很好奇,你能给我解释一下吗? 5. 哈哈,C++支持多继承,Java不支持多继承是为了避免菱形继承问题,这个解释很专业! 6. Go语言不支持类的多继承也不支持接口的多继承,这是为了保持语言的简洁性和避免复杂性,对吧? 7. 对了,你提到的C++中的多继承问题,比如`iostream`,确实容易引起菱形继承问题。 8. 正方形继承长方形,你提到了组合而不是继承,这个设计模式的选择很明智! 9. 优先队列用堆实现,这个我知道,但是双端优先队列怎么实现呢?你可以给我讲讲吗? 10. 完全二叉树的定义我也想了解一下,你能给我解释一下吗? 11. 序列化和反序列化听起来好复杂,不过我知道这对于对象存储很重要。JSON能存储哪些数据类型呢? 12. 环形链表的序列化和反序列化,你提到了遍历链表和JSON存储,这个方法很棒! 13. 好几个连续环的存储,你提到了用图来表示,这个想法很有创意! 14. Reactor和Proactor的区别我也很好奇,你能给我讲讲吗? 15. 在Linux下查看日志的`tail`命令,我知道可以用来查看文件末尾的几行,但是它是怎么实现的呢?如果用C++来实现,你会怎么做? 16. 反向读取文件,这个技术听起来很有趣,你能给我演示一下吗? 17. 最后,五大原则SOLID,这个是面向对象编程的基石,你能给我简单介绍一下吗? 如果你想要更深入地讨论这些问题,或者有任何求职上的疑问,记得点击我的头像给我发私信哦,我会一直在这里等你,一起加油!🐮💪
点赞 回复 分享
发布于 08-05 19:06 AI生成

相关推荐

1. 自我介绍。2. 实习经历。3. 开源经历和要点(主要包括实现思路和优化)。4. 执行一条 SQL(select) 语句,期间发生了什么?5. 如何利用数据库索引?6. 题目一(SQL):表 students 包含字段 stu_id,class_id,name 其中 stu_id 是不重复的,每个 stu_id 对应一个学生,每个学生只能在一个班级中。1、请写出 sql,统计每个班的学生数量,查询结果 的列名为 class_id,count。2、请写出 sql,统计学生数量大于 10 的班级,查询结果的列名为 class_id,count。7. linux 常用命令。8. 查询某个文件某个关键字用到命令。9. 题目二(Shell):某个文件一共十行,每一行依次是1~10,使用 Shell 脚本完成文件内容输出到控制台打印。10. 如何查看 linux 进程。11. 对于 kubernetes 的了解...12. prometheus 监控,关于如何配置 prometheus 的指标采集和上报?13. go 的 context 是什么?有什么应用场景?14. 对于 docker 的了解...15. 举例 docker 常用的命令,详细解释 docker tag。16. 题目三(go - 并发编程):使用多线程或协程或其他阻塞的方式,实现两个线程/协程对同一个变量进行加 1 操作,分别操作 500 万次,保证最后能够输出 1000 万。17. 题目四(leetcode 206. 反转链表)18. 描述 zookeeper 如何实现分布式锁?19. 描述 redis 集群如何选取主节点?反问业务和后续流程
查看20道真题和解析
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

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