万字攻略,详解腾讯面试

本文一万字,以非腾讯在职人的身份,来聊腾讯面试的流程、攻略和建议,但愿能助有缘人。标题涉及的范围很广,对多数面试腾讯的人而言,都有参考价值,看完本文之后,必有所得。退一步来讲,即便是准备面试其他公司,也有很多问题是相通的,亦可借鉴,有所广益。从毕业到现在,被别人面试过,也面试过别人,大大小小的面试,一两百次,也算久经沙场。本文分为三个部分,如下:Part1:...
2024-02-13 阅读全文 →

框架篇:小白也能秒懂的Linux零拷贝原理

前言大白话解释,零拷贝就是没有把数据从一个存储区域拷贝到另一个存储区域。但是没有数据的复制,怎么可能实现数据的传输呢?其实我们在java NIO、netty、kafka遇到的零拷贝,并不是不复制数据,而是减少不必要的数据拷贝次数,从而提升代码性能零拷贝的好处内核空间和用户空间缓冲区和虚拟内存传统的 I/Ommap+write 实现的零拷贝sendfile 实...
2024-02-13 阅读全文 →

B 站,你是真的牛逼!

点击上方蓝字 (1024遇见ta) 关注我们导语大家好,蹭一波B站年度总结热度。一入B站深似海,从此游戏是路人,当初因为追番进B站,如今却因为学习沉沦其中给大家看看我的B站年度总结~我相信,和我一样,很多人每天打开最多的网站就是B站(小破站)了吧,甚至很多人在B站上学习技能。今天就给大家分享下我花一晚上时间帮大家筛选的一些我觉得不错的课程推荐给大家...
2024-02-13 阅读全文 →

9个提高代码运行效率的小技巧你知道几个?

我们写程序的目的就是使它在任何情况下都可以稳定工作。一个运行的很快但是结果错误的程序并没有任何用处。在程序开发和优化的过程中,我们必须考虑代码使用的方式,以及影响它的关键因素。通常,我们必须在程序的简洁性与它的运行速度之间做出权衡。今天我们就来聊一聊如何优化程序的性能。1. 减小程序计算量1.1 示例代码1.2 分析代码1.3 改进代码2. 提取代码中的公共...
2024-02-13 阅读全文 →

两万字长文,这是我见过最好的模板元编程文章!

来源:博客园 liangliangh链接:https://www.cnblogs.com/liangliangh/p/4219879.html整理:程序喵大人实验平台:Win7,VS2013 Community,GCC 4.8.3(在线版)所谓元编程就是编写直接生成或操纵程序的程序,C++ 模板给 C++ 语言提供了元编程的能力,模板使 C++ 编程变得异常...
2024-02-13 阅读全文 →

【为宏正名】for的妙用你想不到

【说在前面的话】通过本系列前面两篇文章的学习,我们掌握了宏的基本语法和使用规则,讽刺的是这些所谓的“基本语法和规则”却恰恰是正规C语言教育中所缺失的。本文的内容将建立在前面构筑的基础之上,以for功能的挖掘和封装为契机,手把手的教会你如何正确使用宏来简化日常开发,增强C语言的可读性、降低应用开发的难度、同时还尽可能避免宏对日常代码调试带来的负面影响。在开始本...
2024-02-13 阅读全文 →

【为宏正名】99%人都不知道的"##"里用法

【说在前面的话】有人说C语言中最臭名昭著的两兄弟就是指针和宏了。对于前者,很多有经验的老鸟会告诉你:用好了指针你就掌握了C语言的内功心法——如同原力一样,无论是追随光明还是堕入黑暗都离不开它。宏就没这么幸运了,不光年年受到邪恶的混乱C语言大赛的肆意霸凌(https://www.ioccc.org/),更是让“让代码爹妈都不认识”的身份标签贴到了骨头上——怎一...
2024-02-13 阅读全文 →

【为宏正名】什么?我忘了去上“数学必修课”!

【说在前面的话】在前面的文章《【为宏正名】本应写入教科书的“世界设定”》中我们了解到:宏会在预编译阶段被“处理掉”——宏会被逐级展开、其最终代表的字符串会被替换到对应的文本文件中(只不过通常这个文本文件就是".c"文件)——它不仅活不到正式的编译(make)阶段,更无法对程序运行时刻的行为产生丝毫影响。简而言之,通过宏所确定的内容是在编译时刻就固化下来的。很...
2024-02-13 阅读全文 →

【为宏正名】本应写入教科书的“世界设定”

【说在前面的话】市面上大部分C程序员对宏存在巨大的误解甚至是恐惧,并因此极力避免宏的适度使用,甚至将宏在封装中发挥正确作用的行为视作是对C语言的“背叛”——震惊之余,对于为什么大家会有这种想法的原因,我曾经一度是非常“傲慢的”,这种傲慢与某些人宣称“穷人都是因为懒所以才穷”时所表现出的那种态度并无任何本质不同——然而我错了,在闲暇之余认真看了不少经典的C语言...
2024-02-13 阅读全文 →

如何高效学习?掌握这十步就可以!

本文对《软技能:代码之外的生存指南》书中的“十步学习法”展开讨论,该书作者是John Z. Sonmez,一名程序员,书中有很多面试、专业等建议。有一些建议相见恨晚。某天在喵哥群里看到了本书的推荐,非常感谢推荐。本文末尾附上了John Z. Sonme推荐的书单(自我提升、软件开发、投资类),感兴趣的可以看一下。虽然本书说的是“程序员必备的软技能”,但我认为...
2024-02-13 阅读全文 →

《逆袭进大厂》之C++篇49问49答(绝对的干货),必须收藏

最近C++技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信大家好,我是阿秀答应你们的《逆袭进大厂》系列正式开始了。好吧我说实话,这些都是我自己整理的秋招笔记,一把屎一把尿慢慢总结出来的那种,这些笔记可以说对我帮助良多。它是在 github 上的 clone 下来的仓库笔记 + 自己看书理解到的知识点 + 网上相...
2024-02-13 阅读全文 →

用图文带你彻底弄懂GDB调试原理

最近C++技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信一、前言这篇文章来聊聊大名鼎鼎的GDB,它的豪门背景咱就不提了,和它的兄弟GCC一样是含着金钥匙出生的,在GNU的家族中的地位不可撼动。相信每位嵌入式开发工程师都使用过gdb来调试程序,如果你说没有用过,那只能说明你的开发经历还不够坎坷,还需要继续被 B...
2024-02-13 阅读全文 →

C语言指针-从底层原理到花式技巧,用图文和代码帮你讲解透彻

最近C++技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信一、前言二、变量与指针的本质三、指针的几个相关概念四、指向不同数据类型的指针五、总结一、前言 如果问C语言中最重要、威力最大的概念是什么,答案必将是指针!威力大,意味着使用方便、高效,同时也意味着语法复杂、容易出错。指针用的好,可以极大的提高代码执行效率...
2024-02-13 阅读全文 →

今天吃瓜吃出柠檬味

大厂们年终奖纷纷刷上热搜,看的喵哥真是心态崩了,来,不能光我一个人酸,要酸大家一起酸!快手上市:员工暴富,人均1300万港元2月5日,快手上市,市值暴涨193%,直接挺进中国互联网前五,仅次于腾讯、阿里、美团、拼多多。没错,就是那个市值相当于于3.4个bilibili的快手,别问我为什么这么算,不懂的评论区见。上市后,快手持股员工人均获利超千万元,有员工17...
2024-02-13 阅读全文 →

《逆袭进大厂》之C++进阶篇59问59答(超硬核干货,过年我们也需要学习)

最近C++技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信大家好,我是阿秀先扯两句闲话,前段时间加了一个粉丝,他告诉我说他们老师在班级群里推荐了我,我当时听到都懵了。。。当时真的有点懵,原来真的有人会看我写的东西,还愿意推荐给身边的人看…最重要的是,这还是一位计算机专业的 C++ 从业老师,在这里也感谢这位老师...
2024-02-13 阅读全文 →

邀请你加入C++大佬们的群聊

明天就是大年三十了,就地过年的喵哥在这里提前祝大家春节快乐!假期虽好,可不要懒惰哦,春节期间,我会陆续在技术群里发布一些独家学习资料,快扫描文末喵哥二维码进群,利用这个假期超过你的对手!不知不觉,程序喵技术群已经有近四百个朋友了,这两天发现群里大佬是真的多啊,有时候我都插不进话,讨论内容过于高端。前方高能预警!春节将至,留守过年的朋友赶紧添加程序喵微信,进群...
2024-02-13 阅读全文 →

深入LUA脚本语言,让你彻底明白调试原理

最近C++技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信一、前言前面文章我们聊了gdb的底层调试机制,明白了gdb是利用操作系统提供的系统信号来调试目标程序的。很多朋友私下留言了,看到能帮助到大家,我心里还是很开心的,其实这也是我继续输出文章的最大动力!后面我会继续把自己在项目开发中的实战经验进行总结。由于g...
2024-02-13 阅读全文 →

如何成为一名大厂的优秀员工?

C++技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信被评为优秀员工是对自己辛苦工作的认可,能力的肯定,其次每个公司都会重点奖励优秀员工,会在各方面进行资源倾斜,可以帮您快速升职加薪。                  &...
2024-02-13 阅读全文 →

硬核操作系统讲解

C++技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信1 冯诺伊曼体系1.1 冯诺伊曼体系简介现代计算机之父冯诺伊曼最先提出程序存储的思想,并成功将其运用在计算机的设计之中,该思想约定了用二进制进行计算和存储,还定义计算机基本结构为 5 个部分,分别是中央处理器(CPU)、内存、输入设备、输出设备、总线。存储器...
2024-02-13 阅读全文 →

阿巴阿巴阿巴

大家好,我是鱼皮,一位编程爱好者和分享者,致力用最有趣通俗的方式帮助大家学习编程知识。目前刚刚毕业半年,正在鹅厂做应用开发。下面想和大家分享我过去一年的经历和心路历程,希望能对大家有些帮助。过去一年,我做了。。。远程实习去年二月,由于疫情,我被困在家里,无法返回学校,也无法回公司继续实习,于是就开始了远程实习工作。本来以为远程实习是一件非常轻松的事情,但没想...
2024-02-13 阅读全文 →

重点关注:C++全局变量初始化的大坑

大家好,我是程序喵!最近发现的一篇关于C++全局变量初始化的文章(原文作者twoon),分享给大家。注意:本文所说的全局变量指的是 variables with static storage,措词来自 c++ 的语言标准文档。什么时候初始化根据 C++ 标准,全局变量的初始化要在 main 函数执行前完成,常识无疑,但是这个说法有点含糊,main 函数执行前...
2024-02-13 阅读全文 →

五大内存泄露应对之策,好文必看!

喵哥技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信来源 | 知乎-张凯(Kyle Zhang)整理 | 公众号-CPP程序员近年来,讨论 C++ 的人越来越少了,一方面是由于像 Python,Go 等优秀的语言的流行,另一方面,大家也越来越明白一个道理,并不是所有的场景都必须使用 C++ 进行开发。...
2024-02-13 阅读全文 →

超硬核文章 | C++内存管理全景指南

喵哥技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信导语 深入理解C++内存管理,一文了解所有C++内存问题,万字长文,建议收藏   随着人工智能,云计算等技术的迅猛发展,让Python,go等新兴语言流行了起来,很多人以为C++可能已经过时了,确实,C++编程语言走到今...
2024-02-13 阅读全文 →

硬核必看!字节跳动面试经验分享

喵哥技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信最近同事内推了一位 Linux C/C++ 后端开发的同学到我们公司面试,我是一面的面试官,很遗憾这位工作了两年的同学面试表现不是很好。我问了如下一些问题:“Redis 持久化机制,redis 销毁方式机制,MQ 实现原理,C++ 虚函数,hash 冲突的解决...
2024-02-13 阅读全文 →

超硬核 | 2 万字+20 图带你手撕 STL 容器源码

前言源码之前,了无秘密。上一篇,我们剖析了 STL 迭代器源码与 traits 编程技法 ,这一篇我们来学习下容器。在 STL 编程中,容器是我们经常会用到的一种数据结构,容器分为序列式容器和关联式容器。两者的本质区别在于:序列式容器是通过元素在容器中的位置顺序存储和访问元素,而关联容器则是通过键 (key) 存储和读取元素。本篇着重剖析序列式容器...
2024-02-13 阅读全文 →

size_t和unsigned int傻傻不区分?

一. 前面的话上次洪哥跟我说,希望多写一些bug调试和踩坑经验的文章。没问题,反正我是挺会写bug的。在C++相关的开发中,有的朋友对一些基本的概念很模糊,用的时候也不注意,然后就呵呵哒了。我自己也偶尔有这样的问题,之前用C++写了一个程序,在测试环境自测无问题,上线后就跪了。二. bug程序为了便于叙述,我对原程序进行简化,如下:#include <...
2024-02-13 阅读全文 →

如何编写 C++ 20 协程(Coroutines)

喵哥技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信C++20 带着 Coroutines 来了!花了一两周的时间后,我想写写 C++20 协程的基本用法,因为 C++ 的协程让我感到很奇怪,写一个协程程序十分费劲。让我们抛去复杂的东西,来看看写一个 C++ 协程需要哪些东西。编译器支持由于 C++ 20 还没...
2024-02-13 阅读全文 →

万字长文炸裂!手撕 STL 迭代器源码与 traits 编程技法

喵哥技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信大家好,我是小贺。1. 前言天下大事,必作于细。源码之前,了无秘密。上一篇,我们剖析了 STL 空间配置器,这一篇文章,我们来学习下 STL 迭代器以及背后的 traits 编程技法。在 STL 编程中,容器和算法是独立设计的,容器里面存的是数据,而算法则是提...
2024-02-13 阅读全文 →

活着活着,就明白了(精辟)

喵哥技术交流群发现了很多水平很高的朋友,欢迎大家来加喵哥微信,进群一起讨论计算机知识!程序喵大人微信大家好,我是小麦,今天不聊技术;最近都在医院折腾了,有点累,白天找老彭聊天,慢慢聊起了他的事情:去年元旦,他的父亲身体不适,后来转院去上海治疗,人生地不熟,一个人跑上跑下,陪护的时候还在坚持更新博文;身为儿子的责任,和作为号主的坚持,都让我十分佩服;这几天,年...
2024-02-13 阅读全文 →

干货:你必须知道的89个"操作系统"核心概念

素材来源:CSDN整理:【公众号:最后一个bug】1. 操作系统(Operating System,OS):是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。2.&nbs...
2024-02-12 阅读全文 →