Tony Blog

Love Coding, Enjoy Life !
你的浏览器版本过低

暑假实习生招聘经历(附 PHP 后台方向面经)

总的来说 PHP 招得很少,有兴趣的话还是可以学。先说下 3 到 5 月的面试经历和套路。

2017.05.12

tonyenc: PHP7 代码加密扩展

一个简洁、高性能、跨平台的 PHP7 代码加密扩展。

2017.05.06

使用 Webpack2 合并、压缩前端资源

合并并压缩前端资源(CSS,JS 等),可以减少请求和流量,增加访问速度,亦可为开发 Pjax 页面做准备。

2017.04.23

Libevent: A tiny introduction to asynchronous IO

初读此文即可理解诸如「同步」「异步」「阻塞」「select」等概念,以及 Libevent 的基本用法。

2017.04.19

动态规划:一个数有有几种拆法(分盘子问题)

一个数如3,可以拆成 2+1,1+1,3 这 3 种拆法,给一个数 n,求有几种拆法。

2017.04.04

PHP 服务器安全和缓解洪水攻击初步总结

安全,是个重要但是容易被忽视的问题。以前写过一个简易的论坛,自以为没问题,但还是被发现有 xss 漏洞和 SQL 注入漏洞。

2017.03.31

动态规划:最长公共子序列 (LCS)

一个字符串 S,去掉零个或者多个元素所剩下的子串称为 S 的子序列。最长公共子序列就是寻找两个给定序列的子序列,该子序列在两个序列中以相同的顺序出现,但是不...

2017.03.19

两行代码:列举目录和子目录文件

你没有看错。

2017.02.21

PHP + JS 最简网页分块上传文件

这个 demo 很简单,大致明白原理就行了。

2017.02.11

PHP 实现多进程 Linux IPC 消息队列

Linux IPC 消息队列是一个全内存设计,内核保证读写顺序和数据同步,并且性能非常强悍的先进现先出数据结构。

2017.02.11

堆排序:数据流中的中位数

动态的插入数据,取中位数,直接使用 C++ 中的堆。使用两个堆,一个堆的数均小于另一个,最终中位数就在两个堆的堆顶之中。

2017.02.03

C++ STL vector map deque string 用法

记录下用法算了,可怕的 C++。

2017.01.30

正则表达式匹配

实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配...

2017.01.28

归并排序:数组中的逆序对、O(n) 方法

在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取...

2017.01.23

快速排序:求最小的 k 个数

可以考虑使用堆,这里用类似快速排序的思想,如果选取枢纽随机化,可以做到平均 O(n) 的时间复杂度。

2017.01.21

yum 安装各版本 LA(N)MP (更新到 PHP7.1)

yum 默认的 PHP 版本为 5.3,不能提供诸如 OPcache 等功能。使用下面的方案,可以避免一些麻烦,还能直接运行在 apache 下。

2017.01.19

二叉树:层次遍历

我们可以设置两个队列,想象一下队列的特点,就是先进先出,首先把第0层保存在一个队列中,然后按节点访问,并把已经访问节点的左右孩子节点放在第二个队列中,当第一...

2017.01.17

二叉树:已知先序、中序遍历结果重建二叉树

假如先序遍历为:1 2 4 5 3 6,中序遍历为:4 2 5 1 6 3。

2017.01.17

二叉树:递归与非递归遍历

介绍二叉树的三种遍历,递归和非递归两种方法。

2017.01.16

kruskal + 并查集:计算最小生成树

现在有孤岛 n 个,孤岛从 1 开始标序一直到 n ,有道路 m 条(道路是双向的,如果有多条道路连通岛屿 i,j 则选择最短的那条),请你求出能够让所有孤...

2017.01.06