33 Posts In Total

一年前的今天,在北京,我凌晨三点起床,骑了一个半小时的共享单车,从西二旗到长安街,就为了亲眼目睹日出前的升旗仪式。

那一年,我23。

我选择骑共享单车去“朝圣”不是因为年少冲动,也不是为了低碳环保,而是囊中羞涩,没有更经济实惠的出行方式可供选择了。

也是在那个暑假,我开始了人生的第一份实习,在北京OPPO。我幻想过自己会和无数的程序员一样,从知春路到西二旗,过上无止境的北漂生活。

Jupyter聆听i/ˈdʒuːpɪtər/)是一个非营利组织,旨在“为数十种编程语言的交互式计算开发开源软件,开放标准和服务”。2014年由Fernando Pérez从IPython中衍生出来,Jupyter支持几十种语言的执行环境。Jupyter Project的名称是对Jupyter支持的三种核心编程语言的引用,这三种语言是JuliaPythonR,也是对伽利略记录发现木星的卫星的笔记本的致敬。Jupyter项目开发并支持交互式计算产品Jupyter Notebook、JupyterHub和JupyterLab,这是Jupyter Notebook的下一代版本。

从北京回到武汉了,开始水我的毕业论文了。毕业论文需要用到神经网络训练模型,这个不用说,自己的机子肯定带不动,要连接实验室的服务器。运行深度学习的代码,习惯使用jupyter notebook,因此需要远程访问服务器上的jupyter notebook。在网上搜了几种远程访问的方法,有的成功了,有的估计因为实验室内网IP等原因没有成功……

用了5年的MacBook,一直用的是系统自带的terminal 终端。对于item2也略有耳闻,但没有去研究它。实习期间一直在用SecureCRT,实习结束之后,面对原生自带的终端,感觉到十分不友好,遂决定改用item2……

一.新增item2配置文件

学了C++那么久,发现还是有英语单词不认识。volatile,从英语的角度来看,是什么意思呢?在网上用谷歌翻译,得到的是「易挥发的」,也有的翻译成「易变的」。但仅仅这些对于我们去理解这个单词是不够的,对于翻译来说,很多时候目标语言很难找到一个词能够反映源语言中单词的全部含义和细节。

单词volatile的含义

Volatile 的意思,若要详细理解,还是应该查阅权威的英英字典。在柯林斯高阶学习词典中,volatile 是这样解释的:

2020.9.5早上九点猿辅导二面,问的问题不多,但感觉问的挺好,还让我手撕一道链表的题目,没有找到最优解,十分钟的时间用暴力的方法写出代码,自己觉得不是很满意。事后诸葛亮,最优解总在面试完突然想到,把自己蠢哭了,一顿捶胸顿足之后决定记一下这道题目。

顺便再记一些面试官问的网络和数据库的问题,用倒叙的手法整理成一篇面经吧。

优先队列虽然名字叫队列,但它的内部其实是由一个来维护其排序的。

既然名字叫做队列,那么使用它就要先包含头文件#include<queue>,优先队列和普通队列的不同就在于我们可以自定义优先队列内部数据的优先级,让优先级高的排在前面,优先出队。

优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的。

快排这个东西真的不想说什么,刷面经常常看到会有面试官考察快排的代码,我一直觉得这种事情不会发生在我身上,没想到上周滴滴面试还是发生了。而且,我之前写过好几次快排的代码,然而面试时脑子一篇空白,没有按时写出来……并且像面试官问了一个巨他妈愚蠢的问题:现在的语言都有sort这种已经非常完善的排序算法,为什么还要造轮子手撕快排。面试官说:其实让你们写快排的代码并不是要你们造轮子取代那些排序算法,而是通过快排这个我们都知道原理的过程来看看你的code基本功,能不能把这个我们都知道的思路复现出来。

简单点说,写不出来就是菜鸡了。看完这篇文章,拒绝做菜鸡!

散列表Hash table,也叫哈希表),是根据(Key)而直接访问在内存储存位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表

在面试中,我们经常会被问到如何处理哈希冲突的问题。


99%