滴滴C++面经

内推码:DSy5Ewhy

纯手码,望见谅:

👥 面试题目拷打项目,布隆过滤器的底层原理,如何控制长度。

底层是如何控制长度的?如何控制误差?扩容因子是多少?订单延迟取消队列是如何设计的。

死信队列交换机。

java集合,你了解的集合有哪些?synchronized的底层原理。和reentrantlock的区别java设计模式拷打。

说说项目中用到了哪些设计模式。

spring中哪些功能用到了模板设计模式。

如何实习mysql主从,Mysql主从如何设计调优。MVCC底层。

当时想提项目用到了canal伪装成mysql的子节点来实现mysql和redis的最终一致性。

过于紧张就忘了。如果要实现一个LRU,如何实现?我提到可以直接继承LinkedHashMap.怎么实现的。

我说各个方法分别super基础父类。继续深挖,问put的值值存储在哪?TCP的三次和四次。

JVM 内存结构,垃圾回收。操作系统的内存管理方式。

二、滴滴2025届春招正式启动

【企业介绍】滴滴是全球卓越的移动出行科技平台,在亚太、拉美等市场提供网约车、出租车召车、代驾、顺风车等多元化出行服务,并运营车服、外卖、货运等业务。

【招聘岗位】工程类、算法类、机器人类、数据类、产品类、安全技术类、效能管理类、运营类、职能类、供应链类、金融类

【工作地点】北京、上海、杭州等

【面向人群】25届应届毕业生,毕业时间在2024.9-2025.8内

【招聘流程】简历投递:3月3日起

笔试(仅部分岗位需要):3月9日起

面试:3月上旬起

offer发放:3月下旬起

内推链接:https://app.mokahr.com/m/campus_apply/didiglobal/96064?recommendCode=DSy5Ewhy&hash=%23%2Fjobs#/jobs

内推码:DSy5Ewhy(简历优先筛选,后续有流程上的问题欢迎随时联系)}

立刻投递,快人一步,抢跑未来!

投递后可评论留言姓名缩写+岗位(ljh+研发),后台跟进,能捞就捞

#实习##春招##校招##内推##滴滴#
全部评论

相关推荐

04-02 21:12
已编辑
门头沟学院 C++
1. 读写锁如何实现?2. 如何实现线程池?线程池里放了多个任务后,这些任务怎么分配到各线程的?3.哈希表的原理是什么?4.怎么实现对一个树结构进行广度优先遍历?5.栈内存和堆内存的区别?栈为什么分配速度快?它具体怎么分配?6.当使用new创建一个新的数组,它指针是虚拟地址还是物理地址?什么时候回真正映射到物理内存?7.https加密原理是怎么样的?8.如果有个假冒服务器,它也可以跟你握手吗?1. 读写锁是一种并发控制机制,允许多个线程同时读取共享资源,但写操作需要独占访问;初始化一个互斥锁(用于保护共享转态),初始化一个条件变量(用于阻塞等待的线程);读锁:如果没有写线程正在访问,允许读线程进入;写锁:如果没有读线程或写线程正在访问,允许写线程进入;解锁:读线程解锁时,介绍读取计数;写线程解锁时,通知等待的线程;2. 线程池,通过三个类实现,(1)线程类,用于控制线程的启动和停止,以及维护一个指向事件循环的指针;(2)程池类:用于管理线程,包括初始化线程数量,已经放置一个任务队列,每来一个事件就放到队列里,如果有空闲线程就唤醒去执行;(3)任务函数的接口类,写一个基类,自己通过子类来自定义函数;线程池收到任务后,会把任务放到共享的任务队列里面,每个线程会在循环里去拿任务,拿到任务时要加锁互斥,谁先拿到就执行。另外还可以考虑给任务添加优先级3. 通过哈希函数将将键值映射到数组索引,再用数组存储键值对。举例:像C++中的unorder_map,使用链地址法解决冲突,在哈希冲突时把多个元素放到同一个桶里链表中。当存储的元素跟数组大小的比值超过一定阈值,会进行自动扩容;4.  广度优先遍历就是对每一层进行遍历,用队列实现;先把根节点入队,出队时访问,然后把它的子节点按顺序入队,一直到队列为空;5. 栈由操作系统自动分配回收,存储函数的现参、局部变量、返回地址等;堆是通过new/delete或者malloc/free由程序自己分配释放,能分配更大的内存,但可能会出现内存碎片等问题;操作系统在底层对栈提供支持,会分配专门的寄存器存放栈的地址,另外它的入栈出栈操作也十分简单,并且由专门的指令执行,所以下来会很快;堆的操作是由C/C++函数库提供,在分配内存的时候需要一定的算法寻找合适大小的内存。并且获取堆的内容需要两次访问,第一次访问指针,第二次根据指针保存的地址访问内存,因此堆比较慢。6. 并不是物理内存,而是虚拟地址,后面需要通过页表和MMU(内存管理单元)来映射到物理内存;操作系统采用懒加载策略,只有在程序访问这块内存时,才会将虚拟内存页映射到物理内存。也就是说,程序触发缺页中断时,操作系统才会分配物理内存并更新页表来完成映射。7. 客户端会发送一个Client random + TLS版本号 + 支持的密码套件列表的信息给服务端,服务器回应一个Server random + 自己的数字证书;客户端通过证书认证机构(CA)来验证证书是否合法,确认服务器身份后,用服务器的公钥加密一个pre-master发回给服务器;服务器用私钥解密得到该数;后面的就使用这个生成的会话秘钥client random + Server random + pre-master进行对称加密传输;8. 如果是一个假冒服务器,它的证书没有权威CA的签名,或者证书域名不匹配,客户端会提示不信任,阻止连接。CA:是证书颁发机构,负责签发;证书:由CA颁发的电子文件,包含公钥、身份信息和CA的签名等;
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客企业服务