我在逛知乎的时候看到一个问题:随手写了个回答,没想到很多读者都表示说出了心声,所以也同步发到公众号。以下是原回答我自己是CS科班的,读者里也有很多各大高校计算机的同学,覆盖了上交、北邮、南邮、华科、川大、普通一本等等,根据他们反馈,总结了以下几点:上课耽误学习,不上课考勤扣分,拿...
大家好,我是小林。前几天,我写一篇感受计算机基础之美的文章:坚持一年了里面介绍了个心跳服务的宕机判断算法,当时只是理论分析了下使用LRU算法来实现,没有手撕代码。今天,就带大家手撕LRU算法,先让大家回顾下案例,然后后面就进行代码讲解。宕机判断算法的设计心跳服务主要做两件事情:发...
大家好,我是小林。昨天发了一篇「小林手撕LRU算法」的文章,当时这个算法写比较赶,导致代码里面有一些不对的地方,被细心的读者发现了。有时候自己写的代码真的是当局者迷,旁观者清,所以codereview环节是很重要的,很难有人能一次性写出「完美」的代码。这篇就不细说LRU算法的思路...
大家好,我是小林。最近有朋友跟我说,他在看面经的时候,到哪都有我的影子。这个挺让我意外的,没想到我的图解网络和图解系统已经慢慢传开了,形成一定的口碑了。不知道有多少读者是通过别人文章认识我的,哈哈。这个事情就说到了,刹个车。上周有个读者问我,这么个问题:TCP是面向字节流的协议,...
大家都知道虽然我是一个程序员,但是我非常热爱运动,比如跳舞,这不每天回家睡前我都会在B站舞蹈区学习相关的舞蹈。昨天也不例外,我一洗漱完就飞奔坐在电脑前,打开B站舞蹈区准备学习咬人喵,欣小萌、小仙若他们新的舞蹈动作,不得不说老婆们跳的真好,连我这种内向的人也不自觉的跟着扭动了起来。...
感觉现在的猎头行业也非常卷,几乎每天都会接到猎头电话,多的时候每天都有两三个,而且多是重复的岗位。不知道是因为现在猎头竞争激烈开始广撒网了,还是有好多大厂开了新的业务线急需招人。很久之前一位猎头加了我微信,当时我好奇心很强,就特别想知道猎头都赚多少钱,平时工作都是怎么进行的。所以...
哲学时代我们所生活的世界是丰富多彩的,有蓝天和白云,有大海和高山,有天上飞的小鸟,有地上跑的兔子,有绿树和鲜花。可是,这世间万物都是如何形成的?它们之间又有什么样的联系呢?在公元前600年左右,古希腊的殖民地出了一位聪明人名叫泰勒斯,他曾经去过埃及,利用相似三角形的原理计算出了胡...
投稿作者OIer,目前对计算机及算法的了解主要在信息学竞赛方面。本文主要讲解平方求幂(快速幂)相关,凡涉及大整数,都会进行对定值取模等处理,所以存储越界导致的错误、位数过多导致的单次运算缓慢的问题,不在考虑范围之内。“幂”在许多地方常被用到,如Hash相关、费马小定理、进制转换等...
经常在知乎上可以看到这个问题,于是尝试着回答了一下,没想到国内C巨佬吴咏炜老师还给我点了个赞,让我相当激动,下面具体介绍下!结论可能大家看上面的图就知道了,没有加return0;编译器会自动添加一个。那怎么证明呢?可以查看相应的汇编代码,查看汇编代码推荐使用godbolt.org...
大家好,我是飞哥!经常在后台收到读者的交流,Linux源码那么庞大,飞哥你是如何读的呢?由于问这个问题的太多,我想有必要专门写一篇文章聊一聊。首先,我先说一点,其实我本人不是搞内核相关工作的。我和大多数同学都一样,从事的也是应用层上的开发,负责的是后端模块。那我为什么要研究源码这...
在《一文读懂|进程怎么绑定CPU》这篇文章中介绍过,在Linux内核中会为每个CPU创建一个可运行进程队列,由于每个CPU都拥有一个可运行进程队列,那么就有可能会出现每个可运行进程队列之间的进程数不一样的问题,这就是所谓的 负载不均衡 问题,如下图所示:(图1)最极端的情况是,一...
前言TCP协议是大厂面试必问的知识点。整理了15道非常经典的TCP面试题,希望大家都找到理想的offer呀公众号:捡田螺的小男孩1. 讲下TCP三次握手流程开始客户端和服务器都处于CLOSED状态,然后服务端开始监听某个端口,进入LISTEN状态第一次握手(SYN=1,seq=x...
今天给大家介绍我的一个好友,一位目前正在京东的大佬,本文介绍一下他从小白到高手的逆袭进互联网大厂经历,很有启发性,相信读后定能有所收获:博主大学期间掌握C/C等语言后一直非常迷茫,学会这些语言就能成为编程高手吗?这能让我编写出很厉害的程序吗?如果不能我还需要掌握哪些技术?没有人能...
因为某些原因,github访问速度确实太慢了,图片经常刷不出来,甚至会出现项目无法下载的情况。码云虽好,可目前还是无法代替github在编程界的地位,所以今天团长给大家推荐几种提高github访问速度的方案,挑自己喜欢的尝试就好!1.GitHub镜像访问这里提供两个最常用的镜像地...
前言源码之前,了无秘密。上一篇,我们剖析了STL迭代器源码与traits编程技法 ,这一篇我们来学习下容器。在STL编程中,容器是我们经常会用到的一种数据结构,容器分为序列式容器和关联式容器。两者的本质区别在于:序列式容器是通过元素在容器中的位置顺序存储和访问元素,而关联容器则是...