自我介绍 项目 如何实现cpu的虚拟化 线程如何切换 虚拟地址到物理地址转换 如何实现对象持久化存储(存储到磁盘)mmap原理 cpu访问磁盘数据和内存数据性能对比 实习 arm架构和x86架构区别 如何监控服务器cpu信息,内存使用率,io等 内存泄露原因及如何检测与预防,使用过哪些工具,原理是 八股文 tcp udp区别 面试使用的是udp还是tcp(封装过的udp,如何实现重传和有序传输),
一、手撕题 k个链表合并 20min 二、简单八股拷打 15min 1、在C++中,多继承会导致类继承了多个基类,可能存在同名虚函数的情况,出现二义性。如何处理二义性? 2、tcp三次握手过程、是否熟悉TLS协议 3、C/C++区别、堆栈的问题 4、内存泄漏处理经验 三、结合项目经历 10min 1、项目中负责的工作、难点,如何解决的,会针对提到的技术进行提问,交流。 四、反问 10min 1、具
全程在唠嗑,氛围很轻松,没有算法题 1.虚析构函数 2.x64内存对齐 3.智能指针,再讲些智能指针运用场景 4.多线程下的观察者模式,c++11的单例模式,工厂模式,这些设计模式好处 5.进程通信方式,优缺点 6.线程同步手段,如何选择用哪个
二面主要考的算法,这里把两个算法题拿出来,这两个开放式问题大家一起想想方法。 1.给定一个字符串,要求把字符串中偶数位数的子回文串删掉;注意,回文串删除后生成新偶数位数的子回文串也需要被删掉。返回最终删除后的字符串。 2.给定一个二维数组,已知两个节点x y,二维数组的每一行的起点终点均为x y,二维数组的每一行代表了x到y的每一条路线。因为路线中间可能有一些点重合,所以x到y的路线数肯定比行数要
1.简历项目拷打 2.C++11 3.std::move 4.移动构造函数 5.算法反转链表2
1.项目拷打 2.STL 3.八股:输入网址全过程介绍 4.http请求 5.mysql表设计 6.算法 零钱兑换
vector扩容,resize和reserve的区别 为避免重复扩容做的机制 C++空类大小 类的默认函数有哪些 移动语意,std::move()做的底层操作 smart ptr原理 weak_ptr如何实现的 shared_ptr线程是否安全? TCP、IP解释一下MTU,MSS IP分片 TCP三次握手 大小端,网络传输大端 进程和线程的区别 Linux子进程创建没有wait操作会发生什么 g
先手撕合并k个有序链表,本来想不让用STL,后来讲讲priority_queue的实现算了 讲讲new的实现,其中new什么时候返回空指针,什么时候抛出异常,抛的是什么异常 malloc线程安全吗,多线程malloc系统怎么设计 如何限制一个进程能够使用的线程等资源 C++你觉得最特别于其他语言的点是什么 java,python,c++垃圾回收怎么实现的 shared_ptr循环引用怎么解决 了解
7.27 下午三点一面(55min) 1、介绍一个项目,接触到的相关技术-两分钟 2、protobuf本身用来解决什么问题 3、json相对于protobuf有什么优势(可读性强和自描述性) 4、zookeeper分布式锁 5、zookeeper分布式锁的leader election(不会) 6、项目中粘包怎么解决的 7、定时器问题 8、解释ChainBuffer 9、讲一下基于RingBuff
给面试官点个赞,体验很好 20多分钟项目吧,围着项目先聊架构设计之类的 八股: C++多态 mmap 做题: k个升序链表的合并#百度##百度2024校园招聘#
1、自我介绍 2、什么项目都没问直接开始拷打基础 3、空类有哪些函数? 4、虚函数的实现原理(说了只会用,面试官:笑) 5、为什么析构函数定义为虚函数(不然只会析构基类) 6、如何实现重载 7、C++11新特性 8、进程和线程 9、进程通信方式 10、线程同步方式(脑子抽抽了,一开始答成了线程之间通信方式了) 11、进程之间如何进行上下文切换 12、右值是?解决什么问题 13、快速排序说一下?时间
#机械制造2024笔面经##中望##中望面经# 自我介绍 自学C++的过程,看了哪些书 问项目项目(烂大街的web 服务器):最有收获的地方,印象最深的知识点,压力测试怎么做的 对多线程的理解 刷题量(以为要手撕,并没有) 死锁,怎么避免 C++三大特性理解 继承类内部的内存分布,有虚函数和无虚函数的情况 多态中调用虚函数的过程 C++11的特性了解那些(智能指针) 对智能指针的理解 有一个头文件
全程40分钟 1. 问研究方向 数据获取 深问研究课题 2. 你作为小组长,和团队成员不和,该怎么去协调; 如果这个人就让你认错,你会怎么办 3. chatgpt如何使用的?如果要使用chatgpt获取你研究领域的最新消息,你会怎么做? 4. 面向对象的六大原则 5. 未来的职业规划?你有做哪方面的努力? 6. 你会系统的学习操作系统,计算机网络等相关知识吗?怎么学习 7. 实验室找工作情况 8.
epoll 线程池 项目难点 Linux系统常用操作命令 CPU和内存占用过高如何查看和解决 TCP缓冲区,半连接队列,Accept队列 三种智能指针 move()底层 NULL 和 nullptr 手撕:1-n中均匀选取m个数;pow(x, n) 评价:差强人意,有些细节描述的不是很准确,面试体验良好
是我不配 1.自我介绍 2.项目相关 介绍一下Reactor 为什么自己实现Reactor 不采用现有网络库 用json传输的数据采用什么数据结构存储 socket怎么知道读取到完整的一个数据包 怎么知道下一个数据包到达 介绍一下异步日志 缓冲队列怎么实现的 缓冲队列是怎么解决多线程的并发操作 缓冲队列满了是怎么处理的 阻塞等待会不会妨碍工作线程 怎么实现哈希表的,怎么解决冲