快手+B站+深信服+Smartx+依图

1.快手

一面:

问了问计网+os,随后手撕以下几个内容:

  1. 实现单例模式

  2. 实现栈

  3. 栈支持模板

  4. 栈支持多线程

二面:

链表排序并用数学证明时间复杂度

2.B站

一面:

多进程、多线程、协程、阻塞IO、非阻塞IO、异步IO、同步IO

http2.0、https与http区别等等

shared_ptr底层、引用计数为0的时候,如果不让对象析构。

pb arena调用析构?

性能优化等

二面:

项目+

C++迭代器有哪些、STL容器等等。

3. 深信服

一面:

手撕下面这道题:

一个字符串,由abcdefghijklmnopqrstuvwxyz这26个字母组成。
如果其中某个子串由连续字母组成(即前后两个字符在字母表上相连),且单调上升,或单调下降,则称该子串为连续字母串。

编写程序,寻找某字符串的最长连续字母串。

输入描述:
一个长度不大于10000的字符串。
输出描述:
最长连续字母串的长度;
示例1
输入
aaaaaaaaaaaa
输出
1

二面:

手撕下面这道题

在两个长度相等的排序数组中找到上中位数
限定语言:C、Python、C++、Javascript、Python 3、Java、Go
给定两个有序数组arr1和arr2,已知两个数组的长度都为N,求两个数组中所有数的上中位数。
上中位数:假设递增序列长度为n,若n为奇数,则上中位数为第n/2+1个数;否则为第n个数
[要求]
时间复杂度为O(logN)O(logN),额外空间复杂度为O(1)O(1)
示例1
输入
[1,2,3,4],[3,4,5,6]
输出
3
说明
总共有8个数,上中位数是第4小的数,所以返回3。
示例2
输入
[0,1,2],[3,4,5]
输出
2
说明
总共有6个数,那么上中位数是第3小的数,所以返回2

三面:1.继承有哪些 2.几种继承的状态,考public之类的 3.如何禁止成员函数修改成员变量 4.如何比较结构体 5.c数组用法及注意事项 6.socket错误码 7.1号进程及名字 8.孤儿与僵尸进程 9.进程通信 10.自己写过哪位算法 11.有啥想问的

4.smartx提前批

一面:

信号量与互斥量,为啥要设计互斥量,两者用途一样不。备份方面的点聊一下 https加密过程 cpp全局变量与局部变量 多进程,多线程 o(n)实现第二大数 无重叠区间合并

二面:

进程,线程切换 实习经历 项目经历 备份经历 模板继承角度谈多态 cpp11特性有哪lambda底层实现 lambda与functor区别 二叉树求总和

三面:

自我介绍 进程与线程 有哪些socket inode 多进程通信/同步 虚拟化 km... 分布式存储 arp mac多少位 网络每一层 存储,备份,虚拟化,做哪一个 选个项目聊聊 base地 谈谈对团队与氛围,公司的看法

5.依图

一面:简单问了一下网络知识、操作系统知识,问的很少,不太记得了,就不写了,主要是手撕两道算法。第一道:leetcode原题151. 翻转字符串里的单词 第二道:左上角到右下角距离及路径

二面手撕一个字符串有AB字符,如果不重叠返回true,重叠返回false。

string s

'A' / 'B'

"ABBA"  -> true 
"ABA"    -> false
"ABABA" -> true

"AB" "BA"

三面没啥好说的,基本是开源项目经历、开源经历等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值