想得多,睡得少之生活、工与学习

最近,喜欢胡思乱想。一个人如果想得太多,甚至胡乱地想,可能就是太闲了。如果,想得多,睡得少,那可就是失眠的前兆了。然而,我好像已经失眠了。生活我们想最求一种幸福的、有激情的、多彩的生活状态。但是,这并不现实。因为作为平凡的人来说,我们需要工作。用自己的知识、时间与精力,去为“老板”创造价值。这在很大程度上,是牺牲了我们的生活了的。所以,我们有一些渴望甚至有些幻想。何时能够走出这个怪圈,实现自己的理想的生活状态?因此,我们可能去设定一些目标来达成我们的理想状态。但是,生活还是我们的,不能够无视他。在一次采访中,张朝阳提到大学时因考得“不好”而冬泳来“自虐”。这其中,我更多看到的是不断地对自身极限的挑战,以证明自己是最牛X的。然而,后面他提到现在自己已经和自己“和平”相处,不去和自己对抗。我想,面对平日的生活,也需要保持一颗“平和”的心。和自己的生活“平和”相处,不要对抗。在平淡无趣的生活中,... Read More

软件工程师面试中要注意什么?

最近,有机会作为面试官参与了一些软件工程师的技术一面面试。所以,以面试官的角度来提出面试者的问题,能够更加针对性地帮助到面试者在面试中有更好的表现。所以,今天我来谈谈,作为软件工程师技术面试一面的面试官,面试者需要尤其重视的两点。表达清晰、准确、简洁这个问题往往会在自我介绍和项目介绍的环节中暴露出来。然而,自我介绍和项目介绍往往是面试中的第一个环节,所以这一环节的好坏会直接影响面试官的第一印象。自我介绍最重要的是能够在 2 到 3 分钟的有限时间内,表述出自己的履历,并能够着重地强调出自己的亮点。比如,在现在的工作中做了哪些事情,达到了什么样的效果;平日是否保持积极学习状态,对哪些领域有所深入研究;算法竞赛能够达到的排名等等。然而,会有一些面试者在时间上的把握有些欠缺,并且介绍得过于简单或者没有亮点。甚至,会有些面试者把自我介绍搞成了项目介绍。从头到尾,都是在讲自己的项目。那么,作为面试官... Read More

Got “our configuration does not allow connections to ” while using composer install

Got this message while using the composer install command[Composer\Downloader\TransportExceptionYour configuration does not allow connections to http://xxx.com:80/path/to/repo/repo-name-0.0.0.tar.gz. See https://getcomposer.org/doc/06-config.md#secure-http for details.Just run this commandcomposer config -g secure-http falsThen, go aheadReferrenc[1]. Latest Composer version not pulling Larav... Read More

数据结构与算法,我到底为什么而学?

今天,我想聊聊在数据结构与算法学习路上的一些小感想。2018 年 8 月左右,开始有计划、有目的性地学习这门知识。当然,这期间也会有怠慢的时候。不过,在这断断续续的 21 个月里,对于学习数据结构与算法这件事儿有了一个更新层次的认识与思考。下面,从两个方面聊聊:学到了什么?为什么而学?学到了什么?数据结构与算法。不不不,这只是问题在字面意识上的答案。我想讲的是,通过数据结构与算法这门课程,到底学到了什么,或者说我学会了什么?在之前,买过那些正规传统的教科书似的书籍,比如严蔚敏的《数据结构》。当然,像《算法导论》这样的神书是不会错过的。作为一个初学者来说,这两本书在学习上带来了很大的帮助。不管怎么说,这个阶段是一直在学习那些经典的、成熟的数据结构与算法。然后,会到 LeetCode 上做一些算法题目。我们知道,LeetCode 上的题目是那种面向面试的问题,可以说几乎每个题目都是用一些非常明... Read More

滴滴研发 & 测试岗位内推集锦(持续更新)

最近更新:2020年04月09日为什么加入滴滴?成就感:用技术改变生活,成就感爆棚个人待遇:工资福利待遇优越,发展前景可期用户量:服务于中国以及海外若干国家的一站式出行平台行业地位:互联网独角兽在招岗位有哪些?Go/PHP/Java 后端研发工程师/架构师服务端技术/运营引擎滴滴网约车最核心的后台研发团队,参与网约车公司核心出行、出行中台、智能补贴引擎、广告、内容等公司级核心项目的研发。和顶级工程师一起,提升负责项目的核心指标,团队技术氛围浓厚,成长快。要求对技术充满热情,强悍的代码能力,至少擅长一门语言对新事物保持强烈好奇心,主动性强,有强烈的成长欲望前端研发工程师/架构师前端技术滴滴网约车前端技术团队,负责微信/支付宝滴滴出行 WebAPP 及小程序,各用户产品前端,内部平台的前端以及 Node 服务研发工作。团队技术氛围好,有小程序框架MPX、移动端组件库CubeUI、Better... Read More

写给未来 30 岁的自己,毕业五年之际的职业感悟

作为 2015 届的毕业生,如今已经在互联网行业摸爬滚打五年了。我一直觉得自己是一个后知后觉的人。在小学时,小朋友都有着自己的梦想,而我却没有;在中学时,同学们都有着自己明确的专业选择,而我却模模糊糊;到了大学,同学们都有着自己的目标和梦想,而我没有。一路回想过去,貌似是在一波跌跌撞撞的过程之后才走到现在的。如今,我作为一名软件工程师,已经有五年的时间了。在这期间,我选择了读取在职研究生学历。看似,我有着一些对自己职业的规划与未来的思考。但是,我觉得并没有想得彻底。对自己的要求,从未停止过。但由于种种原因,当然自己的原因是最大的,最终还是远远没有能够达到自己的期望。随着,工作经验的增加,社会阅历的积累,慢慢地思想成熟起来,对自己有着越来越明确的职业目标。写给未来 30 岁的自己“在三十岁之前要不断地去尝试,去做加法,你不知道你有多少种可能[1]”,曾在一刻Talks中白岩松讲到。他说,在3... Read More

2020 疫情期间,我都做了些什么?

现在是 2020 年 3 月 20 日,不知不觉,恍恍惚惚,已是回到北京的第 7 周了。而在今天的某一瞬间,突然有了一丝记录这疫情期间做了哪些事情的想法。我在 2020 年 2 月 2 日从老家来到北京,当时已经意识到疫情的严重性,但并没有想到时至今日我居然依然被隔离在家中,是的,是真的被隔离了,不能出门的那种。说起从老家回来,那时父母并不希望我这么“早”回到北京,之所以认为“早”是因为疫情给大家带来的恐慌。但是,我之所以还是想出发,我想是因为潜意识中有一种想找回一个真正工作和学习的状态。如果再在家“耗下去”,总觉得会损失些什么。在春节期间的两周中,无形中养成了一个习惯 —— 把每天从起床到入睡的所有时间段做的活动记录下来。之所以有这样的想法,是因为觉得时间过得飞快。如果时间过得飞快,要么就是正在经历让自己非常专注的事情,要么就是日复日的那种无味、枯燥且重复的生活。而我是因为后面那一种。2020 年 03 月 10 日 家 北京... Read More

我为什么时常抱怨别人?

抱怨他人往往在日常的生活、工作和学习中,我还是比较容易地产生对“第三方”的抱怨,这里的第三方包括一些人、事儿或者大环境。当然,这种现象也出现在比较多的朋友中。在和这些朋友聊天时,他们会向我述苦,对这个不满意,对那个不待见,对国家环境失望等等。然而,当时的我仅仅是简单地认为这是他们的问题,却没有意识到如果是我的话,我会不会有同样的感触呢?假象 - 自我欺骗就在最近,我突然觉得我对“第三方”产生了不间断的抱怨,甚至怨恨。经过一段时间,我冷静下来好好的思考了一下。其实,对于我而言,这种对第三方的抱怨和怨恨是一种假象,是一种自我欺骗。那么,下面我来聊聊这为什么是一种自我欺骗,以及该如何消除这种负能量。在某种特定的情况下,我的抱怨和怨恨其实是一种潜意识的自我保护。深一个层次看的话,是我的能力没有达到我的期望标准,所以我没有自信去完成我期望的事情,以至于对自己产生了一种愧疚和怨恨。但是,人们总有一种自... Read More

C++ memset 的使用

在竞赛时使用 memset 发现初始化的默认值无法生效,后来发现我对 memset 的参数的理解有误。void * memset ( void * ptr, int value, size_t num );将指针 ptr 所指向的内存块中前 num 个字节,用 value 替换。注意,这里面的 value 是一个字节的值。下面谈及两个场景,初始化为 0。memset(a,0,sizeof(a));初始化“最大值”,之所以加上引号,是因为并不是真正的最大值。但是能够带来最大值的效果的同时,还能带来一些好处。memset(a,0x3f,sizeof(0x3f));0x3f3f3f3f 代表的十进制数值是 1061109567 是 10^9,和 32 位的有符号整型的最大值是一个量级。而往往,数据在一般情况下都是小于 10^9 的。所以,可以达到替换最大值的效果0x3f3f3f3f + 0x3f... Read More

我的 MBA 研究生第一学年的总结

在 2018 - 2019 这一学年的研究生学习生活中,我想是我人生中迄今为止最有收获的一年。也许我的感受是有误差的,但这的确是我内心实实在在的感受。此时,我还清楚地记得统招考试时的紧张气氛,新生拉练时的陌生又新鲜的感觉,以及后来入学后穿越整个春夏秋冬的每一个周末。在学习方面,作为一个理工科背景的我来说,无疑是打开了一扇通向全新世界的大门。工商管理中的学科,是我未曾接触过的,更是对于我如今的生活和工作都起着非常重要的作用。在这一年的学习中,我先后学习了《宏观经济与政策》、《会计》、《商法》、《运筹与决策》、《管理沟通》、《人力资源管理》、《公司理财》、《管理统计》与《项目管理》等等。使得我在一些领域上实现了零的突破。同时,通过前期广泛地学习,使得了解了这些学科的基本概念和知识,形成了一个简单的知识模式。更重要的是,让我能够找到自己更加感兴趣和擅长的领域,进而更加深入地研究下去。北航此外,在... Read More

60分钟搞定Tarjan算法求解无向图的割点与桥

本人在学习 Tarjan 算法求解无向图的割点与桥的问题时,很快发现了一篇简洁易懂的文章。很顺利地了解算法的思路,并写出了“高效”的代码,此时内心飘过 —— So Easy。然而,当我翻开《算法竞赛进阶指南》这本书的有关篇章时,我发现其中经过精简优化的代码有几条语句让我不得其所。以至于,花了较多心思和时间来思考🤔这段真正高效的 Tarjan 算法的工作原理以及代码的编写。关于 Tarjan 算法,我将会写若干篇系列文章,来完整系统地介绍 Tarjan 算法的原理以及其主要解决的问题。而在本章我主要讲一个问题 —— 如何使用 Tarjan 算法求解无向图的割点与桥。在讲述问题之前,我们先来简单地了解下什么是 Tarjan 算法?Tarjan 算法Tarjan 算法是基于深度优先搜索的算法,用于求解图的连通性问题。Tarjan 算法可以在线性时间内求出无向图的割点与桥,进一步地可以求解无向图的... Read More

递归

递归递归是什么?递归(英语:Recursion),又译为递回,在数学与计算机科学中,是指在函数的定义中使用函数自身的方法 。维基百科简单说,就是自身调用自身。为什么使用递归?往往面对一类问题时,如果它的规模足够小或者说达到既定的边界条件时,我们可以直接获取答案。但是,当这类问题的规模比较大时,却往往无法直接获取答案。那么,这个时候就可以通过“自身调用自身”的方式,来不断地减小问题的规模,直到问题的规模被缩减到足够小时,直接将答案返回上层的调用者,最终获取到原问题的解。如果将求解的过程逆过来,那么就是所谓的递推。通过这种方式,我们可以写出“优雅”的代码去解决规模比较大的问题。进而,避免了通过递推的方式,在每一次递推时产生的复杂的条件判断的问题。上文中提到经过递归调用,会不断地减小问题的规模,有些作者认为这是一种减治法。递归的特性自身调用自身在上文中,已经提到了这个特性,而且也非常好理解,不再赘述。... Read More

到底该如何刷LeetCode?

引言本人非计算机专业出身,本科期间一直觉得数据结构与算法是一项非常基础也重要的知识,但是由于自己可有可无的欲望和糟糕的自律能力,并没有深入地学习这项知识技能。但是,随着时间的流逝,无论在工作中、网络中还是朋友圈中,发现数据结构与算法是无比的重要,以至于任何一位牛人都无不逆天地掌握这项最基本的本领。所以,在2018年8月份,我下定决心通过刷LeetCode来锻炼这一本领——数据结构与算法。从那时起,几乎是从0起步,很多知识都不了解,基本上每刷几道题都会卡到一个完全没有遇到过的知识点,尽管到现在也会时不时地发生。但是,我一直都在坚持,并且从未放弃,累计现在已经刷了421道题目(其实不止)。你也许会问这是为什么,当然,我会在文中的后面讲到。不过,在此之前,我不得不提我是怎么计划并走过这次还未完成的刷题之旅的——到底该如何刷LeetCode?步骤频率优先 —— 因人而异的刷题顺序最开始的前两个月,... Read More