程序员能力修炼手册

刚入行:  就是干 入行两年:熟知各种设计模式,信手拈来入行三年:阅码无数,心中已无设计模式入行五年:就是干大家好,我是安酱。今天来跟大家聊聊程序员的能力进阶道路。相信许多小伙伴都知道,互联网大厂们都是有一套严格的职级系统,专门用来评判员工的能力等级以及对应的薪资待遇区间。比如众所周知的阿里的P系列,腾讯的T系列等等。事实上,程序员的牛逼程度大多也...
2024-02-11 阅读全文 →

双非本科逆袭 拿下ACM金牌、字节和旷视offer、保研985!

大家好,我是编程熊,今天和大家分享我是如何从双非,拿到ACM金牌,再拿到字节跳动、旷视科技等大厂offer,保研985的经历。在字节和旷视的工牌坎坷的大学我本科是一所双非院校,专业是软件工程,高考失利,进入到了一所不想去的大学,曾经觉得自己的一辈子就和普通大学一样,注定普通,无法像重点大学的同学实现人生理想。但我后面的故事告诉我,高考是结束,也是开始,我的人...
2024-02-11 阅读全文 →

如何阅读开源项目代码

经常有小伙伴私信问我怎么阅读开源项目代码,许多人不知道从何处入手,没有方向感,就像学习一门语言总先要有个学习路线一样。这其实不是三两句话能说明白的,所以就有了这篇文章。相信每个人都有一套自己的策略,这里整理了下我平时阅读项目代码的六大步,希望可以对大家有所帮助。粗略看官方文档,明确项目都有什么主要功能,以及如何运行项目;找到项目的入口,把项目运行起来;找到主...
2024-02-11 阅读全文 →

系统调用如何实现?

SYSCALL系统调用就是调用操作系统提供的一系列内核功能函数,因为内核总是对用户程序持不信任的态度,一些核心功能不能直接交由用户程序来实现执行。用户程序只能发出请求,然后内核调用相应的内核函数来帮着处理,将结果返回给应用程序。如此才能保证系统的稳定和安全。本文采用 的实例来讲解系统调用具体是如何实现的。系统调用是给用户态下的程序使用的,但是用户程序并不直接...
2024-02-11 阅读全文 →

程序员鄙视链,好家伙,这,

之前在《这家公司不招女程序员!》提到过程序员鄙视链今天我们延伸说说程序员鄙视链的事儿作者:辛俊波链接:https://www.zhihu.com/question/28900960/answer/4260273601程序语言篇懂 Functional Programming 的工程师鄙视老是把设计模式挂在嘴边的工程师,老是把设计模式挂在嘴边的工程师鄙视会说「...
2024-02-11 阅读全文 →

Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

栈是什么?栈有什么作用?首先,栈 (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out),数据只能在串列的一端 (称为:栈顶 top) 进行 推入 (push) 和 弹出 (pop) 操作。根据栈的特点,很容易的想到可以利用数组,来实现这种数据结构。但是本文要讨论的并不是软件层面的栈,而...
2024-02-11 阅读全文 →

一文看懂 | GDB底层实现原理

在程序出现bug的时候,最好的解决办法就是通过 GDB 调试程序,然后找到程序出现问题的地方。比如程序出现 段错误(内存地址不合法)时,就可以通过 GDB 找到程序哪里访问了不合法的内存地址而导致的。本文不是介绍 GDB 的使用方式,而是大概介绍 GDB 的实现原理,当然 GDB 是一个庞大而复杂的项目,不可...
2024-02-11 阅读全文 →

图解|30张图,带你深入理解CPU流水线和分支预测的那些事儿

大家好,我的朋友们。今天来聊一个硬核的话题,本文大约需要15min,认真读完一定会有收获,走起!通过本文你将了解以下内容:stackoverflow的有趣问题CPU流水线机制和内部数据流转CPU流水线的三大冒险CPU分支预测大揭秘有趣的问题前几天摸鱼的时候,我在stackoverflow发现一个有趣的问题:https://stackoverflow.com/...
2024-02-11 阅读全文 →

多线程异步【日志系统】,高效、强悍的实现方式:双缓冲!

作  者:道哥,10+年嵌入式开发老兵,专注于:C/C++、嵌入式、Linux。关注下方公众号,回复【书籍】,获取 Linux、嵌入式领域经典书籍;回复【PDF】,获取所有原创文章( PDF 格式)。 目录单片机中常用的环形缓冲区多线程异步日志:双缓冲机制双缓冲机制为什么高效尽可能的降低 Lock 的时间参考代码可以继续优化的地方别人的经验,我们的...
2024-02-11 阅读全文 →

操作系统学习路线

前言时隔四个多月,终于把 这个系列写完了,我把它们整合起来做成了这个 ,并命名为给操作系统捋条线。在写第一篇计算机启动的时候,我就说过想要通过 给操作系统的前前后后,里里外外捋一条线出来,让自己让大家都对操作系统有个清晰的认识。可能有朋友还不知道 是个什么东西,都说 的 课程是学习操作系统的神级课程,而 就是其教学使用的操作系统。 这个系统本身很小,但麻雀虽...
2024-02-11 阅读全文 →

关于技术书籍,我是这么来选书和看书的

一、前言二、选书1. 重视选书的过程2. 如何选书3. 电子书 or 纸质书三、读书1. 不要怕弄脏书2. 消灭模糊性、不确定性3. 一定要做笔记4. 怎么确认自己真的懂了一、前言 前几天有同事过来,让我推荐一本 Linux 系统的书籍。我就问他 2 个问题:你想学习 Linux 哪一个层次:内核层?驱动层?应用层?你的目标是什么:是学习...
2024-02-11 阅读全文 →

微信终端自研 C++协程框架的设计与实现

作者:peterfan,腾讯 WXG 客户端开发工程师来源:公众号腾讯技术工程背景基于跨平台考虑,微信终端很多基础组件使用 C++ 编写,随着业务越来越复杂,传统异步编程模型已经无法满足业务需要。Modern C++ 虽然一直在改进,但一直没有统一编程模型,为了提升开发效率,改善代码质量,我们自研了一套 C++ 协程框架 owl,用于为所有基础组件提供统一的...
2024-02-11 阅读全文 →

写了一段“高端”C语言代码

之前写过一篇文章叫《写了一段高端C++代码》,这篇文章的背景和它完全相同,我这里再复述一遍。背景:在音视频方向中,线程分为普通线程和GL线程(OpenGL线程),GL线程中可以执行OpenGL相关的语句,做一些图像渲染的工作,也可以理解为所有GL语句都要在GL线程中执行;而在普通线程中,只能执行那些我们平时经常接触的普通语句。在具体项目开发中会有些需求:在普...
2024-02-11 阅读全文 →

清华大学:2021 元宇宙研究报告!

关于元宇宙的详细介绍;来源:软件定义世界(SDX)本文仅作学术分享往期推荐如何阅读开源项目代码C++20新特性的小细节分享一个编程设计小技巧(没有两三年工作经验估计看不懂)链接两个"名字完全一样"的【动态库】,你会怎么处理?手撸一个对象池多线程学习指南这里收集了100多篇C++原创文章(入门进阶必备)手写线程池 - C语言版if-else和switch-ca...
2024-02-11 阅读全文 →

参加了 40 多场面试。

大哈喽,大家好,我是厨子。好久不见呀,甚是想念,大家是不是发现最近的文章,都是在回答一些读者问题,所以我打算开一个新的专栏【答读者问】,专门用来回答读者的问题。大家如果有问题时,就可以先看看这个专栏下,是否有类似提问,如果有的话,则可以快速获得回答啦!没有答案的话,则可以向我提问,如果我能解决的话,我就会用心的给你回答,如果我搞不定的话,就帮你问喵哥。当然别...
2024-02-11 阅读全文 →

推荐这个C++社群(非常适合中高级开发)

最近发现了一个C++开发者的技术社群:C++开发者俱乐部 IncrediClub!这个社群里聚集了非常多优秀的C++开发者,社群会定期邀请海内外技术专家分享各路C++知识和实战经验。海内外专家论坛、技术博客白皮书、C++技术实战教程,当然还有丰富的品牌定制礼品与福利。所有的这一切都在C++开发者俱乐部 IncrediClub!一个C++开...
2024-02-11 阅读全文 →

图解|工作6年多,我还是没有搞懂什么是协程的道与术

前言大家好,我的朋友们!大白干了6年多后端,写过C/C++、Python、Go,每次说到协程的时候,脑海里就只能浮现一些关键字yeild、async、go等等。但是对于协程这个知识点,我理解的一直比较模糊,于是决定搞清楚。全文阅读预计耗时10分钟,少刷几个小视频的时间,多学点知识,想想就很划算噻!协程概念的诞生先抛一个粗浅的结论:协程从广义来说是一种设计理念...
2024-02-11 阅读全文 →

Google开发者大会大佬云集,我也去看看!

内容:张婉清,陈君瑶排版:陈君瑶2021 DevFest上海谷歌开发者节正快马加鞭地赶来!作为热爱谷歌技术的你我,如何在变革加速的时代用数字创新应对挑战,让自己和更多人的生活更美好呢?11月28日,浦东喜来登由由大酒店让我们一探究竟吧!Welcome to DevFest !活动信息及报名活动:Google DevFest 2021 上海站主题:Explor...
2024-02-11 阅读全文 →

C++ protected继承和private继承是不是没用的废物?

如图是真实世界实践中C++项目protected继承和private继承的情况:其中public继承总的平均下来几乎占99.9%,而protected继承几乎没有。private继承还能占极小部分,但也完全可以用public继承+复合取代。实践是检验真理的唯一标准,现实世界中的这些项目情况是否能说明protected继承和private继承是没用的废物?是只...
2024-02-11 阅读全文 →

9.9元起抄底实时互动的多场景解决方案,把握11.11流量狂欢!

双十一来袭!想要在这场全民流量狂欢中赢得大丰收?即构为你定制了超级钜惠,双十一年度底价! 9.9元起,提供多场景解决方案,并赠送Demo+源码+视频解说含语聊房解决方案,低代码搭建直播间、在线 K 歌房等热门解决方案,各种热门场景/产品低至0.1折底价优惠! 低成本|一站式语聊房解决方案自即构推出自研 IM 产品,一站式语聊房解决方案就有...
2024-02-10 阅读全文 →

Linux最大并发数是多少?

1. 开场白在开始今天的文章之前,先抛一个面试题出来:你接触过的单机最大并发数是多少?你认为当前正常配置的服务器物理机最大并发数可以到多少?说说你的理解和分析。思考几分钟,如果你可以有理有据地说出答案,那确实就不用再往下看了,关上手机去陪陪家人是个不错的选择。思考几分钟,如果你没有头绪或者对答案不确定,那么你先不用着急关闭页面去玩耍,你应该继续往下看,因为这...
2024-02-10 阅读全文 →

在部队当程序员有多爽?

今天在知乎上看到一位大佬分享了自己两段很有意思的经历。一段是在部队当程序员的经历,一段是退伍后在大厂当程序员的经历。很不错的经历,分享给大家!作者:Coldwingshttps://www.zhihu.com/question/426897186/answer/2186631965正文某大厂程序员,此前是某部队单位程序员,两类很不同的经历。在先前的部队单位在...
2024-02-10 阅读全文 →

C/C++为什么要专门设计个do…while?

最初do ... while的出现,更多的是作为循环控制流的一种语法糖。因为不论是while 还是 for循环,都是要先判断是否满足进入循环体的条件的。满足条件之后才能进入循环去执行循环体内的操作。而有些时候,第一次的执行逻辑我们不需要满足循环条件,也要执行。这时候就可以用do ... while。举个例子,前几天的LeetCode每日一题 869...
2024-02-10 阅读全文 →

到底什么是挂载?

MOUNT在 的文件系统中,有个很重要的概念就是挂载,挂载大家应该都很熟悉,除了根文件系统,其他所有文件系统都要先挂载到根文件系统中的某个目录之后才能访问。所谓的根文件系统就是系统启动的时候安装的第一个文件系统,它也是内核映像所在的文件系统。而 挂载到某个目录 的 某个目录 就是所谓的挂载点。 中有专门的命令来挂载文件系统,mount device dir,...
2024-02-10 阅读全文 →

深入理解glibc malloc:内存分配器实现原理

Understanding glibc malloc日志:[2019-10-10] 经评论 @kwdecsdn 提醒,新增对「Unsorted Bin 中的 chunks 何时移至 small/large chunk 中」的补充解释。[2019-02-06] 勘误与代码着色优化;[2018-05-22] 内容优化与排版优化;[2017-03-17] 优化排版...
2024-02-10 阅读全文 →

研究了一波编译器。

最近芯片公司挺火的,编译器岗位突然多了起来。不知道什么时候开始,编译原理总被人说成是用来炫耀的“屠龙技”,对此我不敢苟同,编译原理实打实的是一门对你我工作大有裨益的技术。 编译技术简单点说,就是把高级语言的代码翻译成为计算机可以理解和运行的二进制代码的技术。我们经常会碰到需要编译技术的场景,比如编写界面模板引擎,为项目编写各种各样的 DSL,深度理...
2024-02-10 阅读全文 →

C++的lambda是函数还是对象?

关于C++的lambda是函数还是对象,这其实不是一个一概而论的问题。先说结论:对于有捕获的lambda,其等价于对象。对于没有任何捕获的lambda,其等价于函数!首先,很多C++程序员从lambda 用法上反推容易发现是对象,因为lambda可以捕获!这是函数做不到的。的确,比如:int n = 100;auto ...
2024-02-10 阅读全文 →

哪家互联网公司一周工作时间最长??太卷了!!!

大家好,最近看到了各大互联网公司的每周工作时长排行榜,分享给大家,希望对跳槽的朋友能有所帮助!一般来说,法定的工作时间是40小时(965);大小周通常可以折算为周工作60小时;996通常折算为周工作65小时。其实,在选择公司offer的时候,除了看总包,加班时长也需要重点考虑;我把职级对标上积累的各大互联网公司的加班时长排行榜分享出来,供大家在选择offer...
2024-02-10 阅读全文 →

Effective c++

Part1一、让自己习惯C++条款01:视C++为一个语言联邦C++并不是一个带有一组守则的一体语言:他是从四个次语言( C、Object-Oriented C++、Template、STL )  组成的联邦政府,每个次语言都有自己的规约。记住这四个次于语言你就会发现C++容易了解得多。条款02:尽量以const,enum,inline替换 #de...
2024-02-10 阅读全文 →

腾讯 C++ 笔试/面试题及答案

星标/置顶 公众号????,硬核文章第一时间送达!链接 | https://zhuanlan.zhihu.com/p/274473971题很多,先上题后上答案,便于大家思考问题点:1、C和C++的特点与区别?2、C++的多态3、虚函数实现4、C和C++内存分配问题5、协程6、CGI的了解7、进程间通信方式和线程间通信方式8、TCP握手与释...
2024-02-10 阅读全文 →