小林,江湖救急!

小林coding

共 3480字,需浏览 7分钟

 · 2021-06-19



呃,事情是这样的......


我叫阿菌,


这是我去年秋招线下面试某个大厂的场景。


当时面试官A把我带到一间灯火明亮的小屋子,


里面还有一位面试官B,


这是我第一次,一场面试,同时面对两名面试官。







一挑二,


能不紧张么?


肯定紧张。


在做完简单并着颤抖的自我介绍后,面试官直接丢我一道算法题,是一道和搜索相关的题,在小屋子的白板上手写。


当时我那个手啊,抖得啊,欸,简直不忍直视,写出来的字母都是歪的......





人类的身体构造就是那么的奇妙。


手抖了,脑子也跟着抖。


脑子抖了,就想不了东西了......


于是我颤抖着,写下了一个暴力遍历解,菜得如同不懂算法与数据结构......






在我放下笔后,便有了开头的内容,简直是无地自容,唉,看来,此地不宜把我收容。


我低下头,收拾书包,准备转身离去......




我,


停顿了数秒,


我不知道他们是否在重新定义“不再为难”这个词,


可靠传输,还套个UDP,


这俩面试官,


坏得很!





唉,但有时候,世界就是那么的奇妙,


只要不问我数据结构和算法,


你们问啥都行......


为啥这么自信,这又涉及到了另一个故事。


不过,由于这个故事过于扣人心弦韵味无穷纷繁复杂跌宕起伏且会让人意犹未尽


我打算只做个简单的概述:





在,


一个风高月黑的夜晚,


我遇到了一位神秘而谦虚的男子,





他叫小林哥,


他叫我以后在课上少点睡觉,多看他的公众号,



把他讲的计算机基础全学会,面大厂会有意想不到的收获,我将信将疑......



不敢放正面,因为确实有点点帅,有点担心他今晚微信回不过来




虽然不太敢信,但我当时还是照做了,把他的推文都看了一遍。


看了一遍后,感觉有点感觉,我又看了一遍。


看了一遍后,又感觉有点感觉,我又看了一遍。


看了一遍后,又感觉有点感觉,我又看了一遍。


停停!


这个时候,我隐隐感觉自己身体和脑子发生了些变化,


世界往往就是那么的奇妙......


下面我们回到面试现场:





不就是可靠传输么?


小林哥告诉过我 UDP 是不可靠的,TCP 才是可靠的。


那我在 UDP 协议的基础上加字段,设计成 TCP 不就完了么?


唉,世界有时就是这么的奇妙......





怎么设计?


呃,建议反复阅读小林哥的推文,其义自见:


链接 - 小林哥的图解网络集合及介绍


怎么样,看完是不是瞬间觉得这个问题索然无味了?


无非就是加序号,设计重传,开滑动窗口提升效率等等......






这一套组合拳打下来后,我抬头看了看时间,


二十分钟过去了,


我长舒一口气。


假设一场面试要撑狗一个小时,


那我还有半个小时就能走了!




唉哟,龟龟!


当时我听到之后猛地一个哆嗦!


你们要是说这个,我可就不困了啊!


还记得那个晚上,


我和小林哥同处一棵树下,


畅谈互联网的发展史。





其中就聊到各种IO,包括网络IO的演变,


IO的设计,见证并伴随着互联网时代的变化。


从单机,集群到分布式,程序员们一直在极致地压榨机器性能,


我们改进演变各种技术,努力在巨人的肩膀上寻求创新,


为的就是在这风云莫测的01时代,


留下我们的痕迹,


为社会创造价值......






欸,反正当时这瞎几把的一套技术背诵加理想情怀,


唬得两位面试官小哥哥一愣愣的......


小林哥写的相关文章链接如下:


1. 链接 - 这次答应我,一举拿下 I/O 多路复用!

2. 链接 - 原来 8 张图,就能学废 Reactor 和 Proactor




他懂的真的很多,大家一定要去关注他,


使劲催更,不用客气的!


他会给大家带来更多劲爆内容的,他有太多的面试杀器大绝活。


(先过了面试再说嘛,反正进去后都是拧螺丝)





下面回到面试场景:

我又抬头看了看时间......

一小时过去了,完美!



我笑了,

我当时真的很想把下面的链接发给他们:

链接 - 小林哥的图解系统系列文章

然后霸气的告诉他们:

“不好意思,小林哥的图解系统我全掌握了。”

“你们问吧。”

“掌握了真的可以为所欲为的。”




呃 ......

不过要是全文背诵小林哥的进程间通信,估计得讲半个小时,

和面试官小哥哥有缘萍水相逢,

不太忍心做这样的事情。

所以我决定按自己的理解,简要复述全文。

这个其实也是打开小林哥文章的正确方式噢,

小林哥讲的真的很通俗详细易懂,但是眼睛会了不代表脑子会了。

这些图解文章虽然能帮助我们更好地理解,

但只有当我们理解吸收透了,能完整有逻辑层次地表述出来,

这才没有白煞小林哥的一片苦心呐~








悲伤总是来的辣么突然......







可正当我迈出办公楼大门,

准备回家时,

我的手机响了......



啥都不说了,我要回去刷小林coding了!

波姐~ 阿菌进二面了!!!




(完)




后记:好啦,搞笑的故事讲完了,开始谈正事。

阿菌真的非常感谢小林哥,尽管素面未谋,但小林哥却无偿转载了波波和阿菌的多篇文章。考虑到这篇文章会被很多小林哥的读者看到,所以在这里也和大家分享一些心得体会。




大家也能看到,小林哥的图解系列文章质量高,成体系,能把技术讲清楚。所以,他的文章,除了能让我们系统地了解某个知识点外,还有一个很重要的作用,那就是:帮助我们突击面试。

阿菌是去年经历的秋招,运气好也骗了不少大厂offer,在这里也简单和大家分享一下,如何更好地“利用”小林哥的文章,助力我们面试。

小林哥最近开始写Redis系列了:

  1. 图解Redis - 再也不怕,缓存雪崩、击穿、穿透!
  2. 图解Redis - 宕机了,缓存数据没了


所以,阿菌就以Redis这个考点为例子,告诉大家如何在被问Redis的时候,做到无往不胜!




想要立于不败之地,我们要从两个角度进行考虑:

  1.  假如我是一名程序员,平时我会如何使用Redis,或者说在哪些场合使用Redis。
  2. 假如我是一名面试官,我会通过哪些角度考察面试者对Redis的理解,从中窥探他对这项技术的理解,计算机基础,以及工程素养。


曾经有一位不出名的歌手说过:学技术,会经历三个阶段

  1. 看山是山
  2. 看山不是山
  3. 看山还是山

翻译成人话:

  1. 为技术而技术
  2. 技术应为业务,市场,用户服务
  3. 还是技术本身有意思


阿菌的简历里有提到Redis,所以Redis这个知识点几乎每个大厂都会问。问的套路如出一辙,开头的热身问题基本都是:聊聊Redis的数据结构吧。

毕竟Redis是个数据库,存放数据的地方,数据的存放格式是核心问题。所以,Redis的底层数据结构大家得了解通透,面试官也能通过这个问题了解我们的数据结构基础。(第一重:为技术而技术)

在热身后,面试官会深入考察Redis的使用,毕竟Redis是个中间件,常用作分布式缓存。估计大家都是在项目中用到Redis,把Redis写到了项目经历里。所以,一定要搞清楚为啥项目的架构设计中要用Redis?不用Redis会怎样?是否有可以替代Redis的架构方案?面试官会从中考察我们对技术的理解深度。(第二重:技术应为业务,市场,用户服务)

吊打完Redis的设计和使用后,有经验的面试官会更进一步地考察:欸,小伙子,知道Redis为啥这么快么?知道大厂如何部署运维Redis的不?Redis保证高可用的策略能不能讲一下?毕竟Redis是套开源成熟的系统,系统想要保证高可用,很多诸如数据同步等原理都是相通的,面试官能从中考察我们的工程素养。(第三重:还是技术本身有意思)

了解了面试官会从哪些角度打击我们后,我们就要对应学习相关的知识进行补强,比如说小林哥的这一篇:

1. 图解Redis - 再也不怕,缓存雪崩、击穿、穿透!

就适合我们补强Redis面试的第二环。

再比如说这一篇:

2. 图解Redis - 宕机了,缓存数据没了

就适合我们补强Redis面试的第三环。

简而概之,我们在面试之前要先清楚革命路线,然后根据上乘的资料,逐步打牢根据地,offer只是努力挥洒汗水后呈现的一个结果

不过提醒一点,有时候看懂了是没用的哦,必要的时候要自己动手写点代码加深理解,如果没有实战,面试的时候说话会没有底气。像一些Redis常考的知识点,什么分布式锁吖,阿菌都是动手写过,且测试过的。测试也不够,有时还要横向扩展,比如再用Zookeeper写一个分布式锁,对比一下。

大家先别急,小林哥的Redis系列才刚开始写,他会给提供一套完整,成体系,高质量的Redis知识点大全及面试指南的。

昨天和小林哥聊天的时候,他还自豪地说他的好多读者都拿到了不错的offer,有截图为证:



所以,一定要保持对小林哥的关注哦,相信他以后的图解,会给大家带来惊喜......
浏览 81
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报