问题好多啊😂
点赞 1

相关推荐

03-05 15:15
已编辑
中国人民大学 Java
发面经,涨好运一面 2.251h30min,无算法,基本上是全程八股1.go slice实现原理,追问扩容数组拷贝很耗时,有了解怎么做的优化吗2.redis缓存雪崩,缓存击穿,缓存穿透3.缓存击穿提到了分布式锁方案,问分布式锁如何实现。追问分布式锁抢锁失败应该做什么4.缓存穿透提到了布隆过滤器,问布隆过滤器的原理,追问写操作时写布隆过滤器和写redis数据缓存的一致性如何保障5.kafka如何保证消息的可靠性,追问消费者幂等性如何实现。幂等性提到了唯一id的方案,追问唯一id在哪里生成6.内存只有512M,进程分配1G内存可以实现吗。追问如何关闭换页机制,追问oom kill时杀哪些进程7.问tcp可靠性如何保证8.tcp场景,发送端发seq=11,12,13,接收端只收到11,13,接收端回复什么信息。追问超时重传,快速重传。追问tcp滑动窗口的概念,滑动窗口的初始大小通过什么参数调整9.发http请求的过程,追问tls握手过程,追问一个会话如何记录用户的状态信息(token),追问为什么用了https还需要session,token这些东西10.线程池优化相关,为什么线程多了性能反而受到影响,追问linux线程调度的实现,追问线程调度优先级如何设置11.聊实习的时候顺便基于当时的场景问了一个时序问题,A,B两个机器向C发请求,A比B先发,怎么保证到C的请求的时序和A,B发请求的时序是同一个(这个问题聊了一会,当时没意识到没办法实现),追问为什么没办法实现。追问如果A,B在一个进程里,能实现吗,如何实现二面 3.3约面的时候说要面1h30min,结果最后只面了30min1.简单聊了一下两个项目的架构,一两个关于项目的问题,但不深2.问我熟不熟悉微服务sidecar架构3.一些个人bg方面的问题4.等边三角形三个顶点上三只蚂蚁,每只等概率往两边走,问蚂蚁不相撞的概率是多少5.一道口述的算法题,平面上一堆点,找出所有最小围住的区域的集合。一开始以为是力扣那种恶心人的平面几何数学题,后面沟通让我用图论的方式做,又聊了一下思路,说不用写代码了,也不知道他是觉得算法能力强还是弱6.反问出结果时间,说要横向对比感觉二面啥都没问,面完就有种要挂掉的预感,果然今天早上看挂了。#面经##腾讯#
点赞 评论 收藏
分享
开头自我介绍,开始吟诵,面试官对我的qt+硬件+服务器项目不感兴趣便开始询问使用语言是否为cpp。1.使用过哪些cpp11以上新特性。答:智能指针三剑客(shared_ptr, unique_ptr, weak_ptr).....2.开始询问shared_ptr的底层实现。答:引用计数器+裸指针。3.shared_ptr 解决了普通指针的什么问题。答:RAII对象创建和析构时能自动管理资源,解决内存泄露。4.是否能设计一个shared_ptr,这个shared_ptr里面有哪些成员变量。只答出来:裸指针+引用计数器,也许对数组需要记录长度,析构时范围释放。面试官不语。5.weak_ptr是否使用过,具体api调用。答:创建对象时需要指向shared_ptr, 拿指针时需要lock。是否能设计一个weak_ptr。(😅给菜鸡干懵了,便开始临时发挥。)答:也需要一个引用计数器来记录shared_ptr的引用计数器,当lock时,若shared_ptr引用计数器为0时,他返回空指针。6.unique_ptr的使用场景,我就往单例上靠。7.进程间通信哪些方式。开始吟唱。提到了共享内存和消息队列,消息队列怎么实现😅,开始说是一个单向队列(不知道linux系统底层是但还是双),就答一个消费者模型的单向queue。还问了本地套接字的使用api调用过程。8.线程同步方式。开始吟唱。提到了互斥锁,互斥锁底层实现😂。哥们不行了,提到了线程阻塞和休眠。问,怎么实现线程阻塞和休眠,答涉及线程调度,深了不会了。9.一道设计题,主线程创建一个资源在子线程消费完之前wait住,简单的用mutex对一个int val加锁和std::thread实现了对这个共享变量的访问。面试官看完能运行就放我走了。看到的面试官都好累(上班不容易呀),明天又要干那b横项,希望能早日毕业,早日放我实习,😖。
查看14道真题和解析
点赞 评论 收藏
分享
牛客网
牛客企业服务