小红书C++后端面试

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u013536232/article/details/100586988

1面

1.编程题:给你一个可以生成0-6随机数的函数,设计一个可以生成0-9随机数的函数

面试官提示的思路是:先生成两位0-6的随机数,然后7进制转1机制,如果转化结果<=39,就用结果对10求余,因为生成0-39的概率是相等的,所以获得0-9的概率也相等

2.编程题:给你两个数组,求并集

3.操作系统:常用的线程调度算法有哪几种?

有先来先服务,最短作业优先,基于优先权的调度算法,时间片轮转等

4.操作系统:线程和进程的区别?

5.操作系统:线程同步有哪几种方式?

2面

1.C++:有哪几种智能指针?

2.C++:简述模板以及为什么使用模板的时候#include<***.hpp>?

3.编程题:用递归和迭代两种方式写反转二叉树

4.编程题:每k个一组反转链表

5.数据库:redis和其他数据库的区别是什么?什么时候选择redis?

5.设计模式:写一个单例模式

3面

1.计算机网络:TCP/IP4层模型有哪4层?

2.计算机网络:mac层寻址过程

3.编程题:从文本中查找敏感词

面试官希望使用前缀树来做这道题

4.编程题:给你一个含有()和[]的字符串,输出括号每对括号的位置下标如(1,2),如果有不合法括号返回空

5.操作系统:有哪几种IO模型?阻塞IO在底层阻塞在了哪里?

拓展

听到的一些别人的问题

1.编程题:第k大的数

2.编程题:判断一个二叉树是不是完全二叉树

3.编程题:反转链表

4.编程题:用栈实现队列

5.编程题:全排列

6.编程题:从二维数组中查找数(每列递增,每行递增)

7.大数问题:找到1亿个数里出现次数前k大的数,内存有限制

猜你喜欢

转载自blog.csdn.net/u013536232/article/details/100586988