虾皮 Shopee 高性能后端 一面

总结:  被拷打"你不了解就不问了" , 手撕题目也G了.

**1. C++ 相关**
*   请做一下自我介绍。
*   你主要使用的编程语言是 C++ 吗?
*   能介绍一下 C++17 中有哪些常用的新特性吗?
*   写 C++ 时常见的“坑”有哪些?你印象最深的是哪个?
*   如何解决不同编译单元间 static 变量析构顺序不一致的问题?
*   C++ 中是否有语言特性可以解决上述析构顺序问题?
*   如果在头文件中定义一个 static 变量,会发生什么?
*   如何确保一个全局变量在程序中只有一个实例?
*   在函数中声明一个对象但不初始化,会有什么问题?(针对基本类型)
*   为什么函数内的局部变量(基本类型)如果不初始化,其值是不确定的?
*   函数内的局部变量能否被“移动”到堆上?
*   基本数据类型(如 int)是否可以通过 move 操作移动到堆上?
*   对于一个类对象,move 操作会触发什么?
*   `const` 和 `constexpr` 有什么区别?
*   `#define` 有哪些用法?
*   如何实现一个参数数量和类型都不固定的函数?
*   能介绍一下什么是“完美转发”(Perfect Forwarding)吗?

**2. 操作系统相关**
*   你对操作系统比较熟悉,能介绍一下存储器的层次结构吗?(从速度高到低)
*   请将存储器的访问速度进行排序。
*   有没有比 L1 Cache 还快的存储器?
*   线程间如何进行通信?
*   除了加锁,线程间通信还有哪些无锁的方式?
*   原子变量(Atomic Variables)都有哪些?
*   原子变量修改值时,有哪些接口可以使用?(涉及内存序)
*   多线程发生死锁应如何避免?
*   死锁产生的条件有哪些? (四大条件? 不会。)
*   针对死锁的各个条件,除了按顺序加锁外,还有哪些解决方案?

**3. 网络与数据库相关**
*   你了解哪些网络知识?(TCP/UDP)
*   你实现过 TCP/UDP 的网络编程(如 socket)吗? (我说没有,只是了解, “那不问了”)
*   能介绍一下 Redis 和 PostgreSQL 有什么不一样吗?
*   这两个数据库哪个更快?
*   Redis 的 QPS 上限能到多少?

**二、 项目**

*   你觉得最难的地方在哪?

对于项目, 问了一个很刁钻的问题。

.....

**三、 算法与数据结构**

*   简单介绍一下数组和链表的区别。
*   从内存利用率角度看,数组和链表哪个更高?
*   数组和链表在增删改查操作上的时间复杂度有何区别?
*   堆排序可以用什么数据结构实现?
*   除了数组(vector),还可以用什么数据结构实现堆?
*   如果用数组(vector)和二叉树(如红黑树)来实现堆,它们各自的优缺点是什么?
*   删除堆中一个中间元素会发生什么?底层如何调整?
*   动态规划(DP)和分治法有什么不一样?

**四、 代码实战**
#牛客AI配图神器#
*   **题目**:模拟斗地主出牌。给定一副手牌(如17张),要求计算出清所有手牌所需的最少出牌次数。牌型包括单张、对子、顺子、三带一、三带二等,其中组合牌型(如顺子、三带)可以减少出牌次数。

没做出来。

#秋招被确诊为……#
#Shopee##虾皮#  #秋招# #面试#
全部评论
这个手撕太难
点赞 回复 分享
发布于 昨天 09:56 上海
这手撕是认真的吗?
点赞 回复 分享
发布于 08-04 11:02 山西
老哥一面过了吗?
点赞 回复 分享
发布于 08-02 21:20 广东

相关推荐

08-06 13:58
已编辑
北京理工大学 Java
查看16道真题和解析
点赞 评论 收藏
分享
评论
5
28
分享

创作者周榜

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