- 博客(12)
- 收藏
- 关注
原创 面试:stl、操作系统等查漏补缺(四)
僵尸进程:子进程终止,父进程还没有通过wait,waitpid系统调用读取他的退出状态的时候,这个子进程就会变成僵尸进程。特点:进程描述符(PID)还存在于系统进程表当中,但不占用内存或者cpu。内核还会保存他的状态码等信息,直到父进程读取。操作系统如何处理:操作系统会暂时保留僵尸进程的进程项,确保父进程能获得紫禁城的退出状态。长期僵尸进程的风险:如果长期占用有限的PID号,大量的僵尸进程可能会导致PID号枯竭,导致系统无法创建新的进程。
2025-03-23 17:00:39
1174
原创 爬虫:模拟网页点击,爬取数据资料
如果要写这个脚本的话可能需要去检查一下网页的资源。例如到某个下载的标签下左击鼠标,然后点击检查,对比右边的网页资源进行有选择填写。在这个脚本中,我采用模拟点击的方式,爬取某个网页上所有的下载资源。
2025-03-23 14:51:01
286
原创 如何优雅的接入deepseek做一个优雅的聊天机器人~
后续打算加上一个爬虫模块,自动接入jira,自动爬取文件爬取报错日志了。并分析用户给入的文档是不是有重复的,如果没有重复的话,就自动将日志上报提交。写这个脚本是因为我想做个聊天机器人,能自动的帮我分析报错日志文档。并且分析文档出现的问题是否有问题。后续有时间再继续整理吧。
2025-03-23 14:45:26
211
原创 面试高频问答(三):随便写写
用途Redis Stream 是专为消息队列和事件流处理消息队列:实现生产-消费模型,支持多消费者组竞争或协同处理消息。事件溯源:按顺序记录事件(如用户操作、系统日志),支持回溯与审计。实时数据管道:传输实时数据流(如传感器数据、点击流),供下游系统实时处理。具体实现底层结构基数树(Radix Tree):存储消息列表,每个节点包含多条消息,优化内存使用。消息ID:格式为<时间戳>-<序号>(如),全局有序且可自定义。消费者组(Consumer Groups)每个组独立跟踪消费进度,组内消费者通过。
2025-03-21 00:43:53
1299
原创 面试场景题(二)
Client→Server:ACK=1, seq=u+1, ack=w+1(Client进入TIME_WAIT)。Server→Client:ACK=1, seq=v, ack=u+1(Server进入CLOSE_WAIT)。:将事务拆分为多个本地事务,通过补偿机制回滚(如TCC模式:Try-Confirm/Cancel)。缓存空值(设置短过期时间)。:使用纠删码(Erasure Coding)或副本(如3副本)保证数据可靠性。:结合内部中间件(如TARS的流量控制)或开源工具(如Sentinel)。
2025-03-16 17:22:04
964
1
原创 CPPer面试高频问题(一)
这个问题的话,无论是小米、腾讯、字节等等都问过我,而我答得只能说是一般般。这个问题我觉得是很重要的一个知识点,因为在实际的生产工作中,多线程的方式是必不可少的,要实现多任务的工作,这一点是必不可少的。在后面我可能考虑分析分析libuv、WebRTC(浅浅挖个坑)!!
2025-03-15 00:40:17
1424
原创 从零开始的内核学习生活(二):自己制作一个简易版Linux系统
通过这一部分的实践,我们可以知道,如果我们要制作一个用户友好的ubuntu系统我们需要三大组件内核、交互界面、引导程序。通过引导程序我们可以找到对应的程序启动,引导程序启动完毕之后就会通过uuid找到系统的数据分区,完成整个系统的启动工作。(目前我就这么理解的,如果有不正确之处请斧正!后续我将继续学习ubuntu的系统引导程序,然后学习ubuntu内核的存储管理机制等。
2025-03-08 17:40:04
1270
原创 从零开始的Linux内核学习生活(一)
在Linux中,操作系统扮演着一个“大家长”的角色,负责管理和优化计算机的所有硬件资源,并通过一系列精心设计的接口(系统调用)让外部命令能够在内核态安全地执行。与此同时,为了确保用户能够方便、高效地使用这些资源,操作系统还提供了丰富的工具和环境。
2025-03-07 22:04:27
959
原创 面试:从零实现一个Mutli-reactor服务器——项目
在高性能网络编程中,Reactor模式是一种常用的事件驱动架构模式,它允许服务器高效地处理大量并发连接。而Multi-Reactor模式是对经典Reactor模式的一种扩展和优化,通过将事件分派与事件处理分离,并利用多个Reactor实例来提高系统性能和可扩展性。在这种模式下,通常有一个主线程(或少量线程)负责监听新连接请求,并将这些连接分配给工作线程池中的不同Reactor实例进行处理。当然,这种模型也有明显缺点,连接建立、IO 事件读取以及事件分发完全有单线程处理;
2025-03-06 16:44:51
815
原创 面试:Epoll、Poll、Select学习记录
selectpoll和epoll都是I/O多路复用机制,它们允许程序监视多个文件描述符(fd),并在某个描述符就绪(即准备好进行读或写操作)时通知程序。尽管这三种机制都属于同步I/O的范畴——因为它们都需要程序在检测到事件后自行执行读写操作,这个过程通常是阻塞的——但它们之间存在显著的区别。同步 vs 异步I/O:值得注意的是,虽然这些机制都是同步I/O,意味着程序需要自己负责数据的读写,而异步I/O则不同,它不需要程序直接处理数据的读写,而是由操作系统自动完成从内核空间到用户空间的数据拷贝。
2025-03-05 17:09:47
1581
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人