
大厂面经总结提高
文章平均质量分 88
MatsumotoChrikk
这个作者很懒,什么都没留下…
展开
-
金山C++一面-面经总结
循环了 一般都是1 或者更高 因为互相引用。原创 2024-10-29 16:21:50 · 719 阅读 · 0 评论 -
华为odC++一面-面经总结
多态:多态是指在运行时根据对象的实际类型来调用相应的方法,而不是根据引用或指针的静态类型。多态性是指同一个操作可以作用于不同类型的对象,并且可以根据对象的类型执行不同的行为。主要通过虚函数和函数重载实现。封装是指将数据和操作数据的方法封装在一个类中,隐藏类的内部实现细节,只对外部暴露必要的接口。通过封装,可以实现信息隐藏和保护数据的安全性,使得类的实现细节对外部用户透明,用户只需关注类的接口和功能。当通过父类的指针或引用调用虚函数时,会根据实际对象的类型来决定调用哪个版本的虚函数,从而实现多态。原创 2024-10-21 20:04:03 · 914 阅读 · 0 评论 -
滴滴C++一面-面经总结
C中的const就是变量的值不能修改 重定义就报错在C++中,const 用于指定不可变数据,包括不可变对象、不可变函数参数以及不可变成员函数。在C++中,还可以使用 const 对象来调用 const 成员函数,但是不能调用非 const 成员函数。初始化?想到构造函数-初始化列表(c++) 结构体的初始化函数(c)原创 2024-10-21 16:04:24 · 885 阅读 · 0 评论 -
快手C++二面-面经总结
cat words.txt:读取文件 words.txt 的内容。tr -s ' ' '\n':将空格替换为换行符,即将每个单词分隔到一行。sort:对单词进行排序。uniq -c:统计每个单词出现的次数,并在前面加上频率。sort -nr:按照频率降序排序。awk '{print $2, $1}':使用 awk 输出单词和频率,其中 2是单词,1 是频率。原创 2024-10-18 18:23:24 · 643 阅读 · 0 评论 -
百度IDGC++一面-面经总结
虚函数出现在多态、继承的情况中,在基类定义一个函数,在派生类可以重写。这也是运行时多态,虚函数就是函数前加上virtual关键字依赖虚函数表和虚表指针,只要有虚函数的类-就生成一个虚函数表。虚表指针指向这个虚函数表。查找对应的,调用函数。流量控制使用滑动窗口协议来控制流量。接收方通过广告窗口大小告诉发送方它能够接收的缓冲区大小,从而防止发送方过快地发送数据,避免接收方的缓冲区溢出。拥塞控制TCP 拥塞控制机制通过调整数据传输速率来防止网络拥塞。原创 2024-10-18 11:23:58 · 779 阅读 · 0 评论 -
小米C++开发一面-面经总结
构造的时候还没虚表呢,定义成虚函数也没办法确定正确的虚函数地址。1.还没虚表2.如果真的是虚函数 那子类构造的时候还要调用基类的构造函数,但是子类的成员白能量都还没初始化。因为只要涉及到多态、继承的时候,派生类的对象也需要被析构函数释放,如果只调用基类的析构函数。那会导致派生类的资源无法正确释放。原创 2024-10-17 11:54:11 · 966 阅读 · 0 评论 -
快手游戏服务端C++开发一面-面经总结
外部碎片指的是由于内存块的分配和释放操作导致可用的空闲内存被分割成许多小块,这些小块分布在整个内存空间中,而每个小块都不足以满足新的内存分配请求。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。内部碎片指的是分配的内存块内部未被使用的部分。先商定初始窗口大小----不超过窗口范围发送数据包-----ack返回能接受的大小----滑动到新的窗口发送新的数据。原创 2024-10-14 17:39:41 · 1031 阅读 · 0 评论 -
科大讯飞C++开发一面-面经总结
内存泄漏定义:内存泄漏是指程序在动态分配内存后,失去了对该内存的引用,但该内存并没有被释放。要避免在多线程环境中出现多个实例,常用的策略是使用双重检查锁定(Double-Checked Locking,DCL)。在 C++ 中,可以通过使用互斥锁(std::mutex)来保护实例的创建。在调用 delete this 后,this 指针所指向的内存将被标记为可用,但指针仍然存在。std::move 将对象 a 转换为右值引用,从而调用移动构造函数,避免了复制的开销。,确保保持参数的值类别。原创 2024-10-13 17:52:38 · 989 阅读 · 0 评论 -
小红书C++引擎架构一面-面经总结
B树:自平衡的多路搜索树,保持数据有序。多路搜索-平衡-节点结构复杂-空间利用率低B+树:就是变种 可以顺序访问和范围查询了文件系统 数据库索引B树用于高效查找、插入、删除B+树用于顺序访问 范围查询 InnoDBmap他是基于红黑树实现的 自平衡 二叉是搜索树 有序 插入删除查找都是logn开销还比较大而另一个就是无序的容器 是哈希表 根据哈希函数的输出确定存储位置理想状态的时候是o1 哈希在大量数据的时候是节省空间的。原创 2024-10-13 17:13:52 · 1364 阅读 · 0 评论 -
字节C++抖音直播一面-面经总结
大小可以动态改变,自动分配更多的内存。(但是建议reserve 因为有复制)可以存储基本类型 自定义类型 还可以存放对象可以对元素随机访问,支持下标直接访问自动处理内存分配和释放。原创 2024-09-29 10:32:25 · 515 阅读 · 0 评论 -
快手C++一面-面经总结
在这个模板类的析构函数中,如果创建新的shared指向同一个资源的时候,引用计数+1,但是离开作用域或者销毁,就会-1.当等于0的时候,就释放资源,销毁控制块。第二次握手:server收到,以自己的SYN为应答,把自己的初始化序列号发送回client,并且把client的初始化序列号+1作为ACK返回。RAII是资源获取就初始化,把资源的获取和释放绑定到对象的生命周期内,利用对象的构造函数和析构函数来管理资源。就是个模板类,可以管理动态分配的对象,template的typename指定管理的资源的类型。原创 2024-09-27 10:49:20 · 1426 阅读 · 0 评论 -
字节豆包C++一面-面经总结
lc206:链表反转:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。lc70爬楼梯进阶,爬楼梯高级进阶:一次可以跳1-n阶台阶爬楼梯原版:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?扩展:(ACM)原创 2024-09-26 10:36:58 · 1329 阅读 · 0 评论 -
Momenta中间件C++一面-面经总结
2 内存模型:C++ 的原子操作提供了几种内存序模型,例如 memory_order_relaxed、memory_order_acquire 和 memory_order_release,以控制操作的内存可见性顺序。在这个模板类的析构函数中,如果创建新的shared指向同一个资源的时候,引用计数+1,但是离开作用域或者销毁,就会-1.当等于0的时候,就释放资源,销毁控制块。就是个模板类,可以管理动态分配的对象,template的typename指定管理的资源的类型。中,并链接到程序的执行过程中。原创 2024-09-25 10:05:17 · 1176 阅读 · 0 评论 -
美团中间件C++一面-面经总结
2.服务端接收到 FIN,进入 CLOSE_WAIT 状态:服务端收到客户端的 FIN 报文后,向客户端发送一个 ACK 报文,确认收到了关闭请求。3.等待服务端关闭连接:服务端的应用程序此时应该执行关闭操作(通常调用 close() 函数),发送 FIN 报文给客户端,并完成整个连接的关闭过程。第二次握手:server收到,以自己的SYN为应答,把自己的初始化序列号发送回client,并且把client的初始化序列号+1作为ACK返回。它通过将文件的数据缓存到内存中,减少对磁盘的直接访问,提高读写速度。原创 2024-09-24 10:52:47 · 1477 阅读 · 0 评论 -
百度C++一面-面经总结
允许在同一个作用域中定义多个同名的函数或方法,但这些函数具有不同的参数列表。编译器通过参数的个数、类型或顺序来区分这些函数调用。这种机制使得函数可以根据不同的参数类型或数量实现不同的功能。函数名相同,但参数类型、数量或顺序不同。重写:则是继承中出现的子类重定义了方法,虚函数来实现,且需要在父类中声明为virtual。函数名、参数列表和返回类型必须与父类的虚函数一致。原创 2024-09-23 11:26:32 · 1391 阅读 · 0 评论