蚂蚁笔试

投的蚂蚁的暑期算法,已经有hr打电话联系面试了,感觉笔试有点寄啊,要写多少道题出来才能过🥹 #蚂蚁#  #暑期实习#  #蚂蚁内推#
全部评论
哥们第一题0.1 第二题1 第三题0 过了 笔试就是给学历差的设槛 对学历好的没啥用
3 回复 分享
发布于 2024-03-20 08:48 浙江
佬写了几道啊
2 回复 分享
发布于 2024-03-20 00:24 上海
哥们2.6道,结果一直泡池子(估计已经挂了)
点赞 回复 分享
发布于 2024-04-28 17:30 辽宁
我1 0.33 0.7,今天一面,面试官说我是及格水平
点赞 回复 分享
发布于 2024-03-20 21:02 上海
啥时候笔试,啥时候的电话呀
点赞 回复 分享
发布于 2024-03-19 20:47 湖北

相关推荐

字节一面:1.面试官自我介绍+小组业务介绍:C/C++,GPU,异构计算,从上层的编译到下层异步执行2.机器学习有了解过吗...  学校选修课...3.自我介绍4.实习项目介绍5.项目里为什么用dpdk? 为什么要搞用户态协议栈,不搞原来内核的那一套?内核那一套可能有一些固定的额外的开销... kernel bypass  绕过很多开销 零拷贝...6.有没有深入研究过dpdk? 深度分析?不太了解,vpp用的多,注册函数指针,成员到主结构体,初始化...7.介绍一下项目2 ??8.讲一下外碎片场景?9.项目里怎么合并内存的?10.照你这么说,一直遍历,O(N),效率是不是有点低?  怎么优化?合并机制类似于伙伴系统,有效减少外部碎片,确保大块内存请求的连续性。联系到工程上....   11.对于解耦的意义?  12.加什么锁?   自旋锁会不会?13.工作线程 vs 主线程?   锁竞争?  桶锁粒度?   12.mmap  vs brk ?13.进程地址空间? 独立性? 页表? 写时拷贝?  (面试官:嗯嗯,对,这个这个这个不错,这个能回答到这个点还是比较少???)14.mm_sturct讲一下?  进程独立拷贝?  区间划分?  管理?  空间布局,自上而下?15. mmap会映射到哪个区域?  文件?物理内存?堆区?16.你对Linux系统的内存管理这块了解的咋样?17.内存分配算法?  伙伴系统?  内存交换?18.unordered_map vs map?  底层?  优缺点?19.vector底层?  异地扩容?  底层指针调整?  元素深拷贝?20.智能指针?  unique vs shared(具体的场景有什么,如何具体选择) ? 底层?  作用域?21. RAII?   除了智能指针还有哪里用到RAII ??22.左值右值引用?   传递unique_ptr?   std::move??  底层? static_cast?23.cpp编译链接流程??24.类模板?  生成模板类?   在编译的哪个阶段??<br>25.讲一下生成的.o文件的格式?  ELF?  忘了...26.和.so .a的联系?  联系实习动静态库?<br>27.动态库的加载?  磁盘到内存?  如何链接过去的?  入口?28.符号表那一套...  大哥你别问了....<br>29.聊一聊   <<程序员的自我修养...>>30.Python会吗?  脚本?31.手撕 链表题  10min 调试过你咋不用智能指针??   写算法题习惯了....32.反问:1.面试表现咋样,哪里可以提升? 平时咋学习?智能指针和新特性,底层编译链接,再复习复习.深度比较重要,找一个方向深入一下吧...2.字节的项目管理流程,从开始到结束,流程?车轱辘话....这个流程的话,它这个这个其实没有这种统一的标准,因为它像自觉它是一个比较大的一个公司嘛,对吧?然后各种各样的这种业务,各种各样的这种项目,他可能。每个项目它都是不太一样的对吧?他可能有的可能希望你。给自己做一些很创新的事情,让你自己一个人去深入的研究某1块儿,然后去独立的去。完成整个一个项目。但是有的项目它可能就是希望你去在他规划的这个大项目里边去让你做某1块事情,然后更加讲究这种分工协作。<br><br>
点赞 评论 收藏
分享
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
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务