一年前的今天,在北京,我凌晨三点起床,骑了一个半小时的共享单车,从西二旗到长安街,就为了亲眼目睹日出前的升旗仪式。
那一年,我23。
我选择骑共享单车去“朝圣”不是因为年少冲动,也不是为了低碳环保,而是囊中羞涩,没有更经济实惠的出行方式可供选择了。
也是在那个暑假,我开始了人生的第一份实习,在北京OPPO。我幻想过自己会和无数的程序员一样,从知春路到西二旗,过上无止境的北漂生活。
从北京回到武汉了,开始水我的毕业论文了。毕业论文需要用到神经网络训练模型,这个不用说,自己的机子肯定带不动,要连接实验室的服务器。运行深度学习的代码,习惯使用jupyter notebook,因此需要远程访问服务器上的jupyter notebook。在网上搜了几种远程访问的方法,有的成功了,有的估计因为实验室内网IP等原因没有成功……
2020.9.5早上九点猿辅导二面,问的问题不多,但感觉问的挺好,还让我手撕一道链表的题目,没有找到最优解,十分钟的时间用暴力的方法写出代码,自己觉得不是很满意。事后诸葛亮,最优解总在面试完突然想到,把自己蠢哭了,一顿捶胸顿足之后决定记一下这道题目。
顺便再记一些面试官问的网络和数据库的问题,用倒叙的手法整理成一篇面经吧。
优先队列虽然名字叫队列,但它的内部其实是由一个堆来维护其排序的。
既然名字叫做队列,那么使用它就要先包含头文件#include<queue>
,优先队列和普通队列的不同就在于我们可以自定义优先队列内部数据的优先级,让优先级高的排在前面,优先出队。
优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的。
快排这个东西真的不想说什么,刷面经常常看到会有面试官考察快排的代码,我一直觉得这种事情不会发生在我身上,没想到上周滴滴面试还是发生了。而且,我之前写过好几次快排的代码,然而面试时脑子一篇空白,没有按时写出来……并且像面试官问了一个巨他妈愚蠢的问题:现在的语言都有sort这种已经非常完善的排序算法,为什么还要造轮子手撕快排。面试官说:其实让你们写快排的代码并不是要你们造轮子取代那些排序算法,而是通过快排这个我们都知道原理的过程来看看你的code基本功,能不能把这个我们都知道的思路复现出来。
简单点说,写不出来就是菜鸡了。看完这篇文章,拒绝做菜鸡!