如何识别垃圾公司?

大家好,我是 Peter,这期我们看下如何识别垃圾公司?从事技术的朋友在判断一家公司好坏,大都从该公司的技术背景,行业地位出发。这种角度无可厚非,毕竟作为新一代农民工能选择的筹码实在有限。但我们一定要时刻充满好奇心,扒开那些非技术人员的思维方式,不为别的,只为看看这个世界。这次我们从财务的角度来扒开一家公司的底裤。我们知道一家企业的最终目的是盈利,围绕盈利的...
2024-02-10 阅读全文 →

多线程程序中操作的原子性

来源:Guancheng (G.C.)0. 背景原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用原子操...
2024-02-10 阅读全文 →

小企业新年特惠 | 戴尔爆款OptiPlex商用台式机,低至4折起!

新年好礼来咯~高性能、低预算的商用电脑 现有新年心动优惠助力小企业冲刺KPI 漂亮拿下收官战!2022年1月4日至2022年1月10日上戴尔小企业官网年终秒杀至高直降2000元指定款再送2年“碎屏保”服务戴尔OptiPlex 3090商用台式机限时4.5折起,低至2619元!数量有限,抢完为止!戴尔Vostro 成就 5310高性能商务本,低至5299元起!...
2024-02-10 阅读全文 →

防御性编程技巧

转载:https://blog.csdn.net/everpenny/article/details/6316698在防御性编程的大框架之下,有许多常识性的规则。人们在想到防御性编程的时候,通常都会想到“断言”,这没有错。我们将在后面对此进行讨论。但是,还是有一些简单的编程习惯可以极大地提高代码的安全性。尽管看上去像是常识,但是这些规则却往往被人们忽视,这就...
2024-02-10 阅读全文 →

探索CPU的调度原理

前言软件工程师们总习惯把OS(Operating System,操作系统)当成是一个非常值得信赖的管家,我们只管把程序托管到OS上运行,却很少深入了解操作系统的运行原理。确实,OS作为一个通用的软件系统,在大多数的场景下都表现得足够的优秀。但仍会有一些特殊的场景,需要我们对OS进行各项调优,才能让业务系统更高效地完成任务。这就要求我们必须深入了解OS的原理,...
2024-02-10 阅读全文 →

【线上问题】P1级公司故障,年终奖不保

前段时间,某个同事找我倾诉,说是因为strict weak ordering导致程序coredump,给公司造成数百万损失,最终评级故障为P0级,年终奖都有点不保了,听完不禁一阵唏嘘。在之前的文章中,我们分析了std::sort的源码实现,在数据量大时候,采用快排,分段递归排序。一旦分段后的数据量小于某个阈值,为了避免快排的递归调用引起的额外开销,此时就采用...
2024-02-10 阅读全文 →

Linux中对【库函数】的调用进行跟踪的 3 种【插桩】技巧

目录什么是插桩?插桩示例代码分析在编译阶段插桩链接阶段插桩执行阶段插桩别人的经验,我们的阶梯!什么是插桩? 在稍微具有一点规模的代码中(C 语言),调用第三方动态库中的函数来完成一些功能,是很常见的工作场景。假设现在有一项任务:需要在调用某个动态库中的某个函数的之前和之后,做一些额外的处理工作。这样的需求一般称作:插桩,也就是对于一个指定的目标函数,新建一个...
2024-02-10 阅读全文 →

【性能优化】lock-free在召回引擎中的实现

大家好!在我们的工作中,多线程编程是一件太稀松平常的事。在多线程环境下操作一个变量或者一块缓存,如果不对其操作加以限制,轻则变量值或者缓存内容不符合预期,重则会产生异常,导致进程崩溃。为了解决这个问题,操作系统提供了锁、信号量以及条件变量等几种线程同步机制供我们使用。如果每次操作都使用上述机制,在某些条件下(系统调用在很多情况下不会陷入内核),系统调用会陷入...
2024-02-10 阅读全文 →

万字长文 | STL 算法总结

本篇所有算法源码均已同步收录 GitHub 仓库,欢迎点个小⭐️:https://github.com/rongweihe/CPPNotes/tree/master/STL-source-code-notesSTL 算法博大精深,涵盖范围之广,其算法之大观,细节之深入,泛型思维之于字里行间,每每阅读都会有不同的收获。STL 将很多常见的逻辑都封装为现成的算法...
2024-02-10 阅读全文 →

C++ Best Practices (C++最佳实践)翻译与阅读笔记

这个翻译的内容真不错,分享给大家。翻译原文链接在这里:https://zhuanlan.zhihu.com/p/427778091推荐大家直接看原文。干货开始:这本书的副标题是:45ish Simple Rules with Specific Action items for better C++ ,这本书是由公司大佬推荐的, 个人认为有必要掌握一下这45条...
2024-02-10 阅读全文 →

转眼就入职微软6个月了,聊聊感受

大家好,我是小牛上班之后,就感觉时间过的飞快,总感觉毕业那会老伙计们聚餐依依惜别的景象还在眼前,但已经离开学校半年了,今天来讲讲入职半年生活体会吧。实习熟悉我的小伙伴知道,我之前在微软实习了一段时间,但那会由于疫情原因,也就在公司呆了两周左右,但也就是这段实习经历,让我找到了一种自己想要的生活方式。找工作,选择offer,本质上也就是选择了一种生活方式,不同...
2024-02-10 阅读全文 →

C++服务性能优化的道与术-道篇:阿姆达尔定律

开场白在之前的文章 《2004:当CPU温和地走入那个良夜》 中我讲到了2000年后摩尔定律的终结,CPU时钟频率定格,多核成为CPU发展的新方向,并行计算成为趋势。在谈到并行计算的时候我们不得不提的就是阿姆达尔定律。阿姆达尔定律即 Amdahl's Law。是由美国计算机科学家 Gene Amdahl (1922/11/16 – 2015/11/10)在 ...
2024-02-10 阅读全文 →

C++ Trick:右值引用、万能引用傻傻分不清楚

C++11标准颁布距今已经十年了,在这个标准中引入了很多新的语言特性,在进一步强化C++的同时,也劝退了很多人,其中就包含右值引用。T&& Doesn’t Always Mean “Rvalue Reference”by Scott MeyersScott Meyers曾经说过:T&&并不总是表示右值引用(rvalue ref...
2024-02-10 阅读全文 →

新年快乐,礼物奉上

程序喵祝大家新年快乐,和几位技术圈优质公众号联合送大家几本书。赠送规则 本次【8个高质量公众号】联合一起赞助,参与方式如下:1. 在下方每个公众号后台发送暗号「20220213」均可获得一张「抽奖码」,但每个号的抽奖码都是独家唯一的,每多扫描一张抽奖码会增多一次中奖机会,点击参与列表还可以查看自己的中奖概率排名。2. 参与8个公号抽奖活动中奖率可翻...
2024-02-10 阅读全文 →

不要再无脑背诵面向对象三大特性了

作者:二律背反链接:https://www.zhihu.com/question/305042684/answer/557460817OOP有且只有一个价值:应对需求的变化。哪里的需求有变化,哪里就要OOP;哪里的需求不变,哪里就不需要OOP。一个hello world我可以一句话搞定、也可以写四五个class用两三种设计模式去实现,我不是吃饱了撑的,而是因...
2024-02-10 阅读全文 →

知乎高赞:为什么有些大公司技术弱爆了?

本文整理自知乎上的同名讨论帖:《为什么有些大公司技术弱爆了?》,版权归原作者所有。原文地址:www.zhihu.com/question/3203922有网友提问:今年年初,到一家互联网公司实习,该公司是国内行业龙头。不过技术和管理方面,却弱爆了。那里的程序员,每天都在看邮件,查问题工单。这些问题,多半是他们设计不当,造成的。代码写的一团糟,全是复制粘贴,连...
2024-02-10 阅读全文 →

张恭庆院士:数学的意义(最全面的解释)

数学既是一种文化、一种“思想的体操”,更是现代理性文化的核心。马克思说:“一门科学只有当它达到了能够成功地运用数学时,才算真正发展了。”在前几次科技革命中,数学大都起到先导和支柱作用。我们不能要求决策者本人一定要懂得很多数学,但至少要经常想想工作中有没有数学问题需要请数学家来咨询。因为数学是科技创新的一种资源,是一种普遍适用的并赋予人以能力的技术。>&...
2024-02-10 阅读全文 →

图解|Linux内存背后的那些神秘往事

前言大家好,我的朋友们!CPU、IO、磁盘、内存可以说是影响计算机性能关键因素,今天就聊探究下内存的那些事儿。内存为进程的运行提供物理空间,同时作为快速CPU和慢速磁盘之间的适配器,可以说是个非常重要的角色。通过本文你将了解到以下内容:本文均围绕Linux操作系统展开,话不多说,我们开始吧!虚拟内存机制当要学习一个新知识点时,比较好的过程是先理解出现这个技术...
2024-02-10 阅读全文 →

看下有多少人对Java感兴趣?

话不多说,干货走起。1、HashMap面试第一题必问的 HashMap,挺考验Javaer的基础功底的,别问为啥放在这,因为重要!HashMap具有如下特性:HashMap 的存取是没有顺序的。KV 均允许为 NULL。多线程情况下该类不安全,可以考虑用 HashTable。JDk8底层是数组 + 链表 + 红黑树,JDK7底层是数组 + 链表。初始容量和装...
2024-02-10 阅读全文 →

当我们在谈论cpu指令乱序的时候,究竟在谈论什么?

原文:https://zhuanlan.zhihu.com/p/45808885很多现代高级语言多提供了多线程并发技术,今天服务器CPU基本上都是多核架构,在Java中,JVM能够根据处理器特性(CPU多级缓存系统、多核处理器等)适当对机器指令进行重排序,最大限度发挥机器性能。Java中的指令重排有两次,第一次发生在将字节码编译成机器码的阶段,第二次发生在C...
2024-02-10 阅读全文 →

被知乎大佬嘲讽后的一个月,我重新研究了一下内联函数

前言这绝不仅仅是一篇讲内联意义的文章参考我的学习过程,可能对你的知识整合有很大帮助之前写了一篇总结c++面试的文章,被大佬纠出来很多关于内联的问题与错误。抱着不误导别人的态度(也因为上篇文章承诺要给大家深入分析一下内联函数),我在最近的一个月里抽了很多时间去重新研究inline,确实学到了很多以前不了解的知识。学习么~就是一个不断打破之前认知并重构知识的过程...
2024-02-10 阅读全文 →

Java这几本经典书籍,读透一本上一个台阶

相信每位程序员都不甘心只做一个“代码机器”,都希望自己的IT之路可以走得更长远!成为一名优秀的Java工程师需要掌握的知识相当多,除了Java编程语言外,操作系统、数据结构与算法、数据库、常用框架、设计模式、网站架构等等诸多技能也都是统统需要掌握。学习Java有哪些必读的经典图书呢?下面为你推荐几本系统学习Java语言你必须要读的书!它们经过无数人口口相传,...
2024-02-10 阅读全文 →

好代码和坏代码

(文末有福利)要写出好代码,首先需要提升品位。很多软件工程师写不好代码,在评审他人的代码时也看不出问题,就是因为缺乏对好代码标准的认识。现在还有太多的软件工程师认为,代码只要可以正确执行就可以了。这是一种非常低的评价标准,很多重要的方面都被忽视了。好代码的特性好代码具有以下特性。1. 鲁棒(Solid and Robust)代码不仅要被正确执行,我们还要考虑...
2024-02-10 阅读全文 →

[译] 我做基础架构学到的 42 件事

译者序最近读到了分布式系统研究者 Mahesh Balakrishnan 的一篇博客《42 things I learned from building a production database》。同样做基础架构,看完大佬总结的经验后拍案叫绝,其中有几条简直是真知灼见,故翻译了全文。Mahesh Balakrishnan 是 Facebook Delos ...
2024-02-09 阅读全文 →

终于有大佬把"计算机底层原理"全部总结出来了

计算机的历史算盘和机械计算机有很多民族自豪感爆棚的兄弟会把算盘当成计算机的起源,还有爆破天的兄弟会把阴阳当成二进制0和1的起源,我觉得这件事儿就有点儿不靠谱了如果非要追究计算机的鼻祖,那就得讲讲17世纪前欧洲的故事,最早的计算机其实是计算器,就是算数用的,在欧洲工业工业革命的时候,大量的工业模具需要计算,欧洲又没有中国传统的计算器 - 算盘,就催生了很多科学...
2024-02-09 阅读全文 →

老兵精讲:C++性能优化

前言性能优化不管是从方法论,还是从实践上都有很多东西。本文从 C++ 语本身入手,介绍了一些性能优化的方法,希望能做到简洁实用。实例1在开始本文的内容之前,让我们看段小程序:// 获取一个整数对应10近制的位数uint32_t digits10_v1(uint64_t v) {   &nb...
2024-02-09 阅读全文 →

Linux 性能优化全景指南

Part1  Linux性能优化1、性能优化性能指标高并发和响应快对应着性能优化的两个核心指标:吞吐和延时应用负载角度:直接影响了产品终端的用户体验系统资源角度:资源使用率、饱和度等性能问题的本质就是系统资源已经到达瓶颈,但请求的处理还不够快,无法支撑更多的请求。性能分析实际上就是找出应用或系统的瓶颈,设法去避免或缓解它们。选择指标评估应用程序和系...
2024-02-09 阅读全文 →

一位大佬对于 Qt 学习的最全总结(三万字干货)

点击上方“程序喵大人”,选择“关注/置顶/星标公众号”干货福利,第一时间送达!分享一位大佬 Github 上关于 Qt 学习的总结。作者无私分享了一百多个自定义控件以及几本 Qt 的书籍(C++ Qt),特此引用这个大佬的干货,左下角可阅读原文进入GitHub原分享地址。一、个人总结的经验语录学习编程是一个渐变的过程,1年精通,3年熟悉,8年入门,10年懵逼...
2024-02-09 阅读全文 →

居家隔离的第39天

大家好,我是程序喵。最近好多朋友一直关心我过得怎么样,这篇文章其实想发很久了,算是对大家的一个报备,我一切都好,至于具体怎么样,毕竟关了一个多月,请各位允许我矫情下,忍住阅读完此文,谢谢!1这是我不能出门的第39天今天早上起来,打开手机,一个好消息,一个坏消息。小区群里面,居委主任通知:是的,我们又又又又又????了。这是我们小区第三次公布????,前前后后...
2024-02-09 阅读全文 →

路由器是如何工作的?

点击上方“程序喵大人”,选择“置顶/星标公众号”干货福利,第一时间送达!什么叫路由?路由器的英文是 Router,也就是「找路的工具」。找什么路?寻找各个网络节点之间的路。换句话说,路由器就像是快递中转站,包裹会经过一个个的中转站,从遥远的地方寄到你家附近,数据包也是一样。路由器是连接两个网络的硬件设备,承担寻路功能,是网络的大门,因此,路由器又叫做网关设备...
2024-02-09 阅读全文 →