从民办三本到知名企业感知算法工程师

写在前面

秋招结束后,我拿到了3个机器人与无人驾驶知名企业的offer,最终决定加入高仙机器人担任感知算法工程师。

我是管郡智,网名無為,本硕均就读于双非高校,其中本科是民办三本传统车辆工程专业,与人工智能的交集只有数学和C语言。于2019年10月(研二论文开题前一个月)开始接触三维点云目标检测算法,在今年的秋招中拿到了心仪的offer,这个过程发生的一切,足以影响我的一生。

写这篇文章的目的有两个:一是为了激励正迷茫的硕士研究生,二是说明韧性和学习方法也可以争取到机会。

 目录 

1. 求职篇 

2. 学习方法篇 

3. 关于机会 

4. 结语 

5. 学习资料推荐

求职篇

2019年10月,我的课题正式定为基于三维点云的目标检测算法研究,开心而又焦虑,开心是因为我早就听说了三维点云,但迟迟没有机会学习研究,这次终于有机会了,同样也是令人焦虑的事,我怎么在一个月之内才能研究明白三维点云并且准备开题答辩。

当时,我身边没有懂点云的师兄师姐,只能靠自己摸索,方法是搜各种关于三维点云目标检测的博客以及论文,硬着头皮读了大半个月,对这个领域有了初步的了解,又花了一周左右的时间将所有的知识点整理成十几页word,之后也顺利通过了毕业论文开题答辩。但这个时候我心里很清楚,自己对三维点云的理解依然是混乱无序,依旧没有对这个领域有一个系统性的认识,大概在12月份底,深蓝学院上线了三维点云处理课程,我第一时间报名了。

在12月份初到元旦后几天,我一直在读基于深度学习的三维物体检测论文,研究了Faster-RCNN系列、YOLO系列、SSD、PixorNet、VoxelNet、PointPillars以及PointRCNN等等。论文一通阅读之后,对这一领域的前沿算法的发展脉络也慢慢清晰了,打算复现这些论文, PointPillars写了一半焦头烂额,查阅资料发现这些论文的代码都开源了,又开始配环境,打算调试代码学习。“好事”都赶一起了,由于实验室的服务器坏了,暂时用不了,只能买票回老家了,我记得那天是1月14号,完美躲过了疫情,老天有眼。

回到家之后,因为没有GPU,并没有继续学习,就给家里干一些活,远离书本来给自己减压,没几天,疫情爆发了。春节之后,响应号召,呆在家里一心看书学习。在二月份到四月份这两个月的时间里面,我表现的非常烦躁,想学习很多,但回头发现什么也没有学习进去。

当时想好好学习一遍数学,但又非常讨厌应试形式的数学资料,经过调研查资料,最终确定在学习MIT的线性代数,学习哈佛大学的概率论,学习斯坦福大学的C++。结果因为课后习题(我特别讨厌根据课后习题获取学习反馈)而放弃了线性代数和概率论的学习,也有一部分原因是遇到不会的习题没有人一起讨论,那时候是没有人会花时间学习基础知识的,不过C++还算坚持到了最后,但学习效果并没有达到预期,毕竟母语不是英语。

本打算在家没有人打扰的情况下,重拾基础,没想到还是失败了(现在回头想一想主要是心急和学习方法不对,因为写这篇文章的时候我正在再一次重新学习数学,不急不躁,正确的学习方法,对于数学的理解上了一层楼)。

接着就是深蓝学院的三维点云课程开课了,一开始不抱有多大的幻想,只想着这门课程能帮助我一点就行了(因为一直对网课印象不好,忽悠圈钱),事实上我的观点是错的。

当我听课程第一章节之后,我就觉得我应该放下任何事情,好好学习这门课程,这之后我一直认为讲师嘉信博士才华横溢,对数学和感知算法的理解超乎我的想象。其实,开始在答疑群里我是很自卑的,因为我发现大家几乎人均985,留学硕博,在群里的提问很小心,讨论很小心。

慢慢的,到了课程第三章的时候,一个契机,当时在群里讨论如何才能手写出谱聚类算法,发现建立图谱不容易,利用eigengap推断聚类类别数量也很困难,我尝试了很多办法,最后选择用0和1来建立图谱,指定类别数量范围,这两个改进,成功实现谱聚类。

应其他小伙伴要求,在群里展示之后,得到了一致的赞同。也是那一天,我添加了讲师嘉信博士的微信,聊了很多很多,着实相见恨晚,嘉信老师对我的帮助,也改变了我秋招的局势。到了课程后期,我几乎可以直接看着ppt上的算法编写代码,我记得北京科技大学的左师弟还问我是怎么做到的,当时我回忆了一下说,我都是“硬”敲代码,慢慢就熟练了。

在这里我还得好好谢谢北京航空航天大学的孙师弟,虽然比我小一届,但是水平绝对在我之上,课程里面的算法没少和他讨论,一起研究怎么敲代码实现,最后我们都拿到了优秀学员证书。

经历了三个月的学习之后,我对三维点云处理有了很深很广很全面的认识,同时也受邀成为第二期三维点云处理课程的助教,当助教期间,我深深体会到,不能随便说话,得对自己的观点(算法理解)负责。

当助教期间也是另一个层次的学习机会,这时候的我更关心怎么用最直白的语言帮助学员理解算法,怎么帮助学员优化代码。这期间,一边给学员补充一些数学知识,一边教他们如何利用矩阵库敲代码使程序运行更快,一边开始利用搜索引擎回答学员的工程问题,慢慢地对感知算法的落地有了一个全面的认识。

深蓝学院是一个很大的平台,学员中也有很多代码能力很强的大佬,我根据批改作业的情况,开始囤优秀代码,并偷偷学习。

那时正值暑假,我从五月份就开始找实习,因为疫情和学历,我遇到了各种各样的困难。前前后后应聘了十几家公司,全部以失败告终,奥迪中国因为英语口语有障碍,一些小创业公司更是因为疫情,现金流不健壮,导致不敢收实习生。这期间,深蓝学院的班主任佳欣帮了我很多忙,一直通过各种消息渠道给我内推简历,奈何实在带不动我。

找不到实习很崩溃,没少跟长春理工大学的秦师兄抱怨,他是尽最大的努力帮我出谋划策,最终决定,将三维点云课程的两个大作业好好研究作为项目(事实上,这两个作业非常非常好,有很多值得让人深思的地方,而且全部涉及到行业难点,再加上嘉信老师的指导,我几乎完成了一个大项目),并且同时继续学习理论基础和源代码,但是一个一直没有解决的问题再一次出现了,我依然没有一块属于自己的GPU,很多时候学习不方便且有时候学习直接终止。

经过再三思考之后,用花呗透支未来买了一台联想拯救者Y7000游戏本,别人买游戏本打游戏,我是买来学习的,现在回头想想真的很值,因为我一个月薪水就可以买几台了。

但是因为之前几乎没有接触过Linux系统,安装系统和配置系统也是非常费劲,自己捣鼓,上网查资料,向别人请教,能用到的办法都用上了,因为2020款的Y7000硬件比较新,ubuntu安装了四遍才成功,直到遇到了广东工业大学的黄师弟,配置环境才步入正轨。工具准备好了,但代码能力依然欠佳,很幸运遇到某无人驾驶独角兽公司的吴伟老哥,我作业代码里的高级写法都是参考他的作业,一般都是学习他的敲法,并直接用在下一章作业代码里面,有了模仿对象,代码能力就提升很快了。同时最后的大作业写的磕磕绊绊,没少参考大神GeYao的代码,他真的很强,教科书般的代码风格。这些直接加速提升了我的代码能力。暑假我的重心基本就是在研究传统三维点云感知算法及代码实现,以及前沿算法的开源代码调试学习,并当好一名课程助教。

八月份是最难熬的,没有实习,算法越研究越觉得自己学的非常皮毛,感觉自己掌握的还不够深入,炎热的夏天也加剧了负面情绪的积累,到了八月下旬,认识的好多名校的同学都相继进入面试环节,甚至拿到心仪的offer。

到了八月底九月初,觉得自己应该可以参加秋招了,开始重新写自己的简历,并有幸得到中科院王师兄的简历指点与修改,这时候的简历已经干货满满,看起来非常高大上(虽然没有一篇顶会论文,没有一块竞赛金牌)。

开始投递第一波简历,然而令我没有想到的是,一个面试机会都没有,是我自己想多了,脑海里也浮现一句老话,学历是块敲门砖,我这个行业的标配几乎就是985硕士科班出身。

遇到这事,谁都是崩溃,几乎想放弃算法岗,转头C++开发岗,身边也有不少名校同学转开发成功了,并且薪水也不低,特别是听到上交大王同学他们实验室转开发岗的都拿到了30w+的offer,我就更想转了,随即就找一直帮助我的好朋友东北大学的小月同学了解转C++开发岗的细节,并开始恶补C++知识、计算机网络以及操作系统(虽然小月最后依旧拿到了心仪的算法岗offer)。

我记得那天晚上还在朋友圈发了一个找不到工作的负面情绪,结果非常意外的事发生了,好多好多人开始私信我帮我内推简历,一大半都是做助教期间积累的人脉,深蓝学院也帮我内推了好几家公司,嘉信老师甚至为我写了一封推荐信,助我找工作一臂之力。此后我就靠着朋友内推的方式开始找工作过了。

内推的岗位主要是三种:感知、建图、C++开发。C++是我研究生同学托人帮我内推的,但连笔试都没能过掉,计算机网络和操作系统的知识在三天之内着实很难掌握透彻,不过C++倒是学习的很好,为后面的算法岗面试打下了基础。

有一半的工作都是建图和定位,通过面试也发现,主要集中在初创公司(公司业务还没有到感知这一步),面试了好几家,有两家公司令我印象深刻,第一个是深蓝为我内推的苏州的一家初创公司,全程面试大概20分钟,就说录用我,对于当时的我来讲简直是不敢想象,但是因为岗位不是我心仪的,业务里面用不到感知算法,并且薪水偏低一些,还是选择继续面其他公司。

还有一家是北京的初创公司,是我的学员为我内推的,因为我对这位学员印象非常好,两个人经常交流算法,决定面试试一试,但面试我的不是学员本人,并且面试官不懂装懂,想到以后可能和这样的同事一起工作,我就感到很反感,后来我也和学员说明白了这件事,感到很抱歉,占用了公司的招聘成本。

感知算法岗的面试还是比较少的,真的做到这一块业务的公司已经是独角兽和大厂了,我也收到了好几家的面试通知,有两家面试让我印象深刻。第一家是北京某无人驾驶独角兽公司,很早就关注了,没想到真的收到了面试通知,面试的过程很舒服,算法总监提问很细很深,能体现出这位leader有很强的算法功底,并且很快收到HR面试,但之后一直没有等到消息,在我两次询问下,才知道hc太少了,我被刷掉了。

刚开始是很气愤的,耽误了我很长时间(大概有十天),还拒掉了一家公司的offer,不过我还是很快的处理好情绪,通过各种办法找到了算法总监的微信,询问应聘失败的原因。

令我意外的是,算法总监非常客气地跟我讲述了整个决策过程以及一些公司的考虑,并且不停强调我不是能力上的问题,只是hc太少,以及我缺乏实习经历,还为我提出一些提升的建议,非常周全。后来我也厚脸皮要了实习经历,不过还没来得及实习,我又收到了高仙机器人的面试通知。

高仙的面试机会是东北大学的大佬王鹏同学(在发顶会论文数篇)的师兄帮我内推的。

面试过程真的是一波三折,面试过程中问了很多很多知识,范围比较广,不但面试了传统感知算法和基于深度学习的感知算法,还询问了算法的改进、部署等等,面试内容还包括Linux操作系统的基础知识,Ros机器人操作系统的基础知识和部署算法以及C++三大领域知识:标准模板库、智能指针、多线程,还好那段日子好好学习了C++,基本都是从内存的角度回答出来了。线上C++笔试也很有意思,考察了栈和快排,也在规定时间敲出来并且运行成功。

高仙机器人连着HR面试一共四轮面试,我差点挂在最后一轮技术面试,能感觉出来面试官是很懂三维点云的目标检测算法及部署,根据简历问了很多很细很深的问题,其实我那时离简历里面的项目实现也有两个多月了,里面好多实现的细节都有些模糊了,回答的时候有些踉跄,不过我觉得在回答C++实现多线程的时候把前面的不足给盖过去了。

加上之前就收到了两家知名的创业公司(100-300人)的正式offer,权衡之后(评估加入公司后自己leader的专业能力),最终决定加入高仙机器人。

以上就是我秋招的面试经历,一般的面试都是三轮,两轮技术面试,一轮线上编程面试。充分准备项目和算法的同时,还要多刷题。

其中的技术面试是最重要的,算法学习一定要了然于心,达到知其在不同场景应用的优缺点的程度才算入门,并且一定要用代码去验证自己的想法是否达到预期,不然很多细节面试官一听一问,面试者就露馅了。

学习算法的过程中一定要找懂算法的同学多交流讨论,自己学习很容易钻牛角尖,如果和不懂算法的同学讨论,一是浪费了时间,二是很可能同学还会不懂装懂,让你哭笑不得,环境对于一个人的学习也是至关重要的。

其实面试的过程就是学习的过程,我在高仙机器人第一轮技术面试中Ros回答得不好,我知道最后一轮技术面试肯定会再次问我,我就找到了哈工大的崔同学学习Ros算法部署,并且在Ros系统里面成功运行,在最后一轮面试中,很淡定地回答出来,并且还获得了面试官的宝贵建议。

总体来看,我的面试通过率还是很高的,基本上给面试机会我大概率都能面试通过,我自己也总结了一下,主要是三个原因:

第一离不开深蓝学院这个平台,通过深蓝学院我认识了很多很多名校的算法大佬,平时一起讨论算法,对我的帮助很大,并且学院一直帮助我创造面试机会,对我的帮助是非常非常多的,一些面试之外可能出现的意外全部帮我提前想好,并提供一些建议,这无疑在无形之中提高了面试的成功率;

第二非常非常感谢嘉信老师,整个求职期间一直指导我的项目,给我讲解非常前沿的算法及解决方案,这在面试中对我的帮助是直截了当的,并且嘉信老师为了帮我增加获得面试的机会,还特意为我写了一份推荐信,虽然他说自己是小人物,不一定起作用,但我能明显感觉得到,推荐信的威力很大;

第三自己的极致努力,不可否认,没有自己的努力、上进和韧性,嘉信老师就算脚踏重型猎鹰9号也带不动我的,一切的一切都是自己先努力,别人才会主动热心地提供帮助,别人如果不愿意提供帮助,或者帮助的时候很不耐烦,要不先思考一下,自己有没有认真对待,有没有花200%的精力去面对、克服困难。

最后我得感谢自己的父母、缪心心、发小和实验室同学及舍友,他们在我人生最迷茫的时候,一直陪着我。

家里虽然很忙,爸妈依然坚持我把时间花在学习上,而不是干活上,父母是我坚强的后盾,是我坚持走下去的勇气,在他们眼里,我永远是长不大的孩子。缪心心用讨人厌的方式为我解压,为我打气,让生活变得有声有色。

大丙和陈伟一直陪着我打球吃夜宵,听我唠叨,缓解了我很多压力。实验室同学和舍友知道我找心仪offer不顺,一直帮助我稳定情绪,分散注意力。他们都陪着我走过低谷时期,打心底感谢他们。

学习方法篇

我一直觉得以前的种种不顺和自己错误的学习方法也是有很大关系的,在吾将上下而求索的过程中,我慢慢悟到了一套属于自己的学习方法。

首先,我觉得很必要来重新认识一下学习,什么是学习?屯资料?买书?报班?大学课堂?还是向大牛请教?我觉得都不是,这些都是获取学习资源的阶段,去看视频资料、上课、读书、请教也依然处于记忆零碎知识的阶段,并没有进入真正的学习阶段。那什么时候才是真正开始学习?答案:输出。只有将自己记忆的零散知识点通过某一种方式从脑袋里面再次输出之后,才是学习的开始阶段。

我自己做过一个试验,一本权威的资料,只看不写,一本普通的资料,看完之后,在word里面写下自己的理解,随心所欲的写,正文写完之后再写一个Summary。一周之后,神奇的事情发生了,即使资料不是很好,我对其的理解依旧深刻,几乎可以脱口而出。

从此以后,我的学习方法都是以写下自己的理解和Summary为主,学习速度和效率大大提升,这样的学习方法让我很有成就感,就跟打游戏一样,一关一关通过。当然,这是我自己找的一套感觉很棒的学习方法,不是万能的,并非人人适用,主要的意思是及时输出,以自己喜欢的方式输出,所以老师讲课越来越厉害的原因找到了,当助教学习效果更好的原因找到了,动手实践发现自己啥也不懂的原因也找到了,本质上这些都是及时输出,找反馈。

不过学习也没有这么简单啦,学习资源也是前人留下来的,以文字、视频的方式记载下来的,那不免会有表达不当造成的理解错误,这是我在把自己的所学用到现实生活中发现的,根据这个问题我又找到一个方法克服,就是我们的一句老话,实践出真知,当把自己的所学有所运用,就会发现,由于各种原因,我们学到的知识其实理解还是有一些瑕疵和错误的,当我们把所学知识与现实世界交互的时候,就会得到很多正反馈和负反馈,正反馈帮助我们强化已经掌握的知识,负反馈来纠正错误的认识,达到完善知识体系的效果,这和目标检测网络的难负样本挖掘好像异曲同工之妙。

这时候经常听到别人会说,那看书有啥用?这里犯了一个逻辑上的错误,没有书本帮助我们在大脑里建立完整的知识体系,我们怎么知道应该如何和现实世界交互呢(成本很低的情况下,可以跳过书本和世界交互,如果风险大,直接撸起袖子干,一旦失败代价可能很惨重)。我的观点是,看书(记忆零散知识的统称)很重要,但是不会学习,那就变成书呆子了,看书+输出=成本最低的学习方法。

还有一点非常重要,就是一定要休息好,休息好是一切高效学习的前提。晚上一定要睡好,睡舒服,平时要多锻炼提高代谢率。如果打算学习了,就尽量避免去消耗精力的场景,比如超市,商品琳琅满目,大脑会将看到的商品一个一个自动识别。

再比如我从宿舍走到实验室有两条路,小路和大路,小路很快,大路反而绕路,但我每天都会选择都大路,因为小路要注意脚下,注意台阶,在用脑,而大路就是宽敞的大陆,没有任何障碍,我走路的同时可以发呆可以想一想计划,思考别的,然后到了实验室之后打开电脑,直接进入学习状态。

这么做的原因很简单,人的精力是很有限的,一天24小时,注意力集中高生产力的时间可能也就四个小时,所以不要让任何消耗精力的事情在做正经事之前发生,要把充沛的精力花在刀刃上。

下面介绍我自己的学习方法:

1、查找最权威最完整的学习资源;

2、以最快的速度把学习资源阅读(看、听、写)一遍;

3、花最大的努力将知识点及时输出并写Summary;

4、寻找最低的成本实践所学;

5、等待一个机会,将自己的所学发挥出来,创造价值。

1、 寻找学习资源的质量可以决定我们发展的天花板。这个动作其实不是一步到位的,当自己的水平提升之后,自己的视野就会更加广阔,这时候寻找的学习资料就会更加经典权威。刚开始步入一个行业寻找学习资源是最难受的,很难找到真实的全面的,我深深体会过,学习感受很糟糕,全靠自己的毅力,大部分人是在这一步就放弃的。

其实这里就涉及信息差这个概念,好的环境有靠谱的信息,那第一步就会非常容易。自己的建议是,去这一个领域的名校想办法找到那个专业的学生或者老师询问入门资源,或者通过高考和考研进入这个学校。

如果大家对人工智能或者机器人领域感兴趣,那就直接推荐深蓝学院了,全部是硬核课程,学完绝对是建立了完整的知识体系。对感知算法感兴趣当然是选择嘉信老师的三维点云处理课程了。

2、 快速的学习是非常有必要的。但我猜很多人会认为是快速看书看视频,快速动手做完一件事。这其实是错误的,真的快速去做的时候,就会发现,刚开始没多久就会放弃了。

我说的快速过一遍,其实是包含及时反馈的,一边学习资料,一边用word记录自己纯粹的理解,完全用自己的大白话讲出来的输出,一个知识点看完就及时输出。这个过程其实很慢的,所以要注意力集中,排除一切诱惑一切琐碎的事情,拿出整块时间做这件事,必须成模块的学习结束之后,才能停止,不然我会感觉很难受。

一个模块(一个章节、一个视频)学习结束之后,将自己的及时输出阅读一遍,趁热打铁写一个Summary,这个时候学习才算结束。

这里的及时输出很多方式,比如直接动手试一下是最好的,可以想办法为自己创造条件,现在人手一部电脑,可以用仿真软件寻找反馈,程序员可以敲代码试一下,算法工程师可以敲代码或者在机器人系统里面仿真一下。

方式各种各样,自己喜欢就行,不过目的是一样的,那就是及时的输出,因为这一步才是真正意义上的学习。

3、 在第2步里面已经说了很多,但不全面。学习不是简单的事情,我们得尊重自己大脑会遗忘的这个事实,第一遍学习不可避免会出现知识点遗漏和知识点太难学不会的问题,第2遍学习的作用就直接凸显出来了。

用相同的方法以更快的速度将之前的笔记和原资料学习一遍,主要的操作:其实这时候对知识已经很熟悉了,所以阅读资料的速度也是飞起来了,阅读之后,就对自己的笔记重新修改删减,以达到全面、言简意骇的效果。这一遍梳理之后,就会有一种恍然大明白的感觉,仿佛见到了光明。

4、 理论知识扎实之后,就得用实践来检验一下是不是有效果,一般而言理论知识和现实世界交互都是有负反馈的,毕竟不是每一个人都是作家,不能用精准的语言记录自己的所闻所见。

这时候的实践就可以帮助我们调整或者重整自己对这个领域建立的知识体系。但有一个原则,那就是花最低的成本去实践,如果为了验证某一个idea,把自己年轻的生命搭进去了,那就太不值得了,不排除一些伟大的科学家。

比如算法工程师可以创建仿真环境,只需要一台带GPU的电脑就可以,程序员就更简单了,只要有电脑能敲代码就行,其他工科也有相应的仿真软件。像哲学、文学、教育这些行业,就真的需要时间慢慢沉淀了,与世界的互动非但不能快,还需要慢慢体悟。创新就是在这个阶段产生的。

5、 我们学习知识是为了什么?找工作?赚钱?炫耀?找存在感?我觉得都不是,我觉得会学习的人一定不会为了这些目的,会学习的人会有很强的思考能力,看到的远远不止这些。只有自己觉得这些知识很厉害的时候才会向别人炫耀,而自己对知识的掌握又有几成呢。

我从不敢跟别人说自己很懂算法,更不会去炫耀自己的学习方法,因为我有一个很强烈的感觉,懂得越多,明白的越多,越会发觉自己只是沧海一粟,时刻提醒自己多学习,充实自己。

对待学习,我觉得有两个目的:一是认识自己,二是参与到社会分工中,创造价值。不可否认,很多人都是从炫耀、找工作、赚钱这些目的开始的,我就是为了找到工作,哈哈。但找到工作之后,解决了温饱之后,人自然而然就会产生其他想法,也就是更高的追求。

所以,在柴米油盐的同时,抽出时间想一想,我是为什么学习?活着是为了什么?

当然,学习方法这一块只是我这两年根据自己的经历感受写的一些总结,说不定明年我就自己推翻这一套理论了,所以,我建议每一个人寻找适合自己的学习方法。但我还是想再强调一点,学习=输出,而不是自我感动、坚持等等。

关于机会

不要放过每一个机会。把自己装备好之后,依然拿不到心仪的offer,依然一事无成也是很正常的,因为不是每个人都有机会的。

清华北大的学生之所以厉害并不是所有人都是天才,很大一部分人是小时候就掌握了正确的学习方法以及吃苦耐劳的品质,他们的厉害之处来源于他们有足够多的机会,且获得这些机会的成本很低,几乎触手可及。

借助得天独厚的学校资源,清北学生可以从各个方面提升自己,他们就像坐着电梯直接厉害到上天,而普通学校的学生真的是没有机会,我觉得自己就属于自己开山造路型的学生,什么也没有,什么都要自己去争取,有一点机会都会当作宝贝一样珍惜。

所以,对于普通孩子来讲,高考考研绝对是最好的机会,如果错失了,那就要好好珍惜每一次小小的机会,来锻炼自己成长起来。越努力越幸运,总会有一个天大的好机会,落到自己头上,然后利用自己早就准备好的才华,好好利用机会,成就一番事业。

结语

学习算法一定一定要踏实,不管时间多么紧急,都要从基础理论学起,看似很慢,其实是最快的学习速度,不尊重基础,轻则学习速度慢,重则从入门到放弃。基础也是一个人对算法理解的天花板,想要在拿到算法岗的offer,请远离调包调参,深入算法的内部数学原理。

把我逼急了什么事都能做出来,除了数学。算法功底练深厚之后,那做啥都会很快,也能快速上手其他领域的知识。天才真的很少,甚至这辈子都遇不到一个,厚积薄发而已。

多和优秀的人交朋友,优秀的人,很谦虚礼貌,时刻关注自己的前方和脚下的路,和他们交流,会非常的充实、幸福。成长的路上,注定进入一个圈子后又很快离开一个圈子,这也是成长的代价,但并不是放弃自己的故友,有机会见面了,一定要不醉不归,回忆过去。

“遇贵人先立业,遇良人先成家,无贵人而先自立,无良人而先修身” 。所谓成长,挺过一个又一个困难,抓住一个又一个机会, Anything is Possible!

你可能感兴趣的:(算法,人工智能,面试经验,算法)