微软实习面试经历

没想到,半年的学习已经结束了。和导师谈妥之后,研二就可以开始实习了,然后就开始了自己的实习招聘生涯。其实,因为目标比较明确,大部分的公司也并不是特别想去。所以就盯上了一家叫做巨硬的外企。然后就开始准备了。 但是主要好玩的地方不是面试的准备,而是拿 offer 的一段插曲。(巨硬的面试挺好过的,只要所有的算法题,都能很快的想到解决办法(不是最优解都可以),然后能够 bug free 的完成编写部分,都能有个很好的结果。) 当时,4.23 面试结束,在 4.27 收到 congratulations 邮件,被告知 offer 已经确认。然后就是精彩的部分了。邮件中说,具体的 offer 信息会在 few days(原话) 发送。所以,就是接下来的一周时间。但是,直到周三,我都没有收到…

Redis 相关的复习

这段时间主要是扑在算法上了,这些工程领域的知识有点遗忘了。所以趁着这次复习,复习下之前做过得项目。同时,正好当时,Redis 官方还没有集群方案,所以才有了之前的 Cache 集群方案,现在正好也看看 Redis 官方的方案。 Codis 方案 一张 Codis 官方给出的架构图: 可以看到,它是采用了 proxy 的方式,和 Redis 官方给出的去中心化的思路不同,Proxy 是一种中心话的思路,将 Redis 仅仅作为存储引擎来使用。这一点其实比较符合组件化的原则,每一个组件只需要做一件事。同时,proxy 的方案,也非常利于简化代码的逻辑。…

Emlog 迁移至 WordPress

作为一个 Emlog 4 年多的用户同时也是众多参与 Emlog 开发者中的一员,做出这个决定确实很难。不过 Emlog 的长期荒废,加上论坛里高质量的内容越来越少。这个也是势在必行。 最后一根稻草是:混乱的社区。于是乎,最后转向了 WordPress。 说道迁移,最麻烦的时数据的备份,之前也想过迁移,但是总是在最后一步卡住了,因为缺少一个合适的工具进行数据的导入导出。自己写的话,比较麻烦,因为对应的数据库表众多(其实就是懒)。 于是乎,这次我觉定自己玩一下。先是查到了这么一篇文章:emlog 5.3.1程序转入wordpress程序教程。得到了这么一个优秀的脚本 em2wp.php。 但是跑了一下,发现问题挺大的。因为这个版本的 php 是用 5 来写的,现在所有的云主机,基本都是 7…

2018 的目标

这个时间定下这个目标似乎有些晚了,不过也算是对之前的目标的一个总结: 不过这段时间的训练下来,总的来说还算是比较满意的。 Codeforce 因为才打了两场,…, 目前稳定在了蓝名,6000 名,LeetCode 目前是 2500 名,HackerRank 目前是 4000 名。 接下来的目的就是将 CF 达到紫名,然后 LC 刷进 1000,HR 就打进 2000…

Gruvbox 显示 Syntastic 语法报错信息

Vim 的 Gruvbox 配色方案现在取代了我使用了两年的 Solarized,因为他的分辨率更胜一筹。所以,我决定了后者开始了退役。但是,遇到一个问题,因为 Syntastic 语法检测的时候,他和我现在使用的代码自动格式化插件有冲突。 在格式化之后,他的错误前标(sign)会出现在错误的位置。所以,为了更方便的查找错误,我一般是开语法错误高亮的。就像如下的效果: 但是在使用了 Gruvbox 之后,会出现这样的情况: 这个就很诡异了。他并没有给出对应的语法错误高亮。然后我又更换了几个其他主题,比如 desert,tomorrow 等,发现这个只是在 Gruvbox 上才会出现,所以我去他的 github 上提了这么个 issue 但是,并么有及时的得到回复。…

使用非均匀量化处理图像数据

这篇文章其实也算是 “信息编码论” 的一个课程作业的总结吧. 因为之前对图像的处理, 基本都是作为一个 lib-caller , 对其中的原理部分一知半解. 正好研究生有这么个选修课程, 于是就硬着头皮选修了. 然后其中的一个实验就是要求实现一个 jpeg 压缩算法. 然后比较每个人的压缩效率, 同时还要比较信噪比. 所以正好有这个机会可以来尝试下好玩的部分. 我们首先拿到的数据是是 raw 文件. 一个…

使用 C 尝试内存管理

在之前苦读『垃圾回收的算法与实现』,也想着什么时候能够自己手动实现一把。加上自己对 redis 也还是算熟悉,也是知道他的内存碎片问题的严重性。所以,就想着这两者结合看看能有什么好玩的地方。 首先就是,如何进行内存的管理。众所周知,C 的内存管理通常使用 malloc 和 free 两个操作进行,于是乎,如果我们需要进行申请堆区的内存空间,(以下的讨论通通以堆区申请内存空间为主,栈区分配的内存通通不考虑),往往就会直接的 malloc(sizeof(xx)),然后再在不需要的时候直接调用 free 进行。但是,操作系统在进行内存分配的时候,并不能保证多次 malloc 的物理空间地址连续,加上内存的换页,就会导致性能的低下,操作系统需要不停的进行换页操作。 而且,在 MacOS(10.13.1) 上,malloc 的策略是,如果有可用的连续空间,直接分配,如果没有逻辑连续的可用空间,则会不停的继续申请。如果超过了系统限制,即使空白部分的总和大于你需要的大小,但是依旧会分配失败。其他的内存分配函数还有 realloc 和…

Makefile 的多目录结构写法

因为最近迷上了 C 语言。所以开始进行的一些项目的编写都是采用的 C 语言。这么就会带来一个小的问题,就是 makefile 的写法问题。 比如一个目录结构是这样的: . ├── LICENSE ├── ReadMe.md ├── TODO.md ├── makefile ├── src │  …