1.array_combine和array_merge和array+array的区别
array_combine ( array $keys , array $values ) : array
keys
将被作为新数组的键。非法的值将会被转换为字符串类型(string)。
values
将被作为 Array 的值。
返回合并的 array,如果两个数组的单元数不同则返回 FALSE。
array_merge ([ array $... ] ) : array
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
1.如果合并的数组中有相同的字符串键名,则后面的值覆盖前面的值,键名不变
2.如果合并的数组中有相同的数字键名,则后面的值不覆盖前面的值,而是依次附加到后面
3.如果只有一个数组,并且该数组是数字索引的,则键名会以连续方式重新索引。
(如果输入的数组存在以数字作为索引的内容,则这项内容的键名会以连续方式重新索引。)
array+array
1.如果合并的数组中有相同的字符串键名,则取最先出现的值而把后面拥有相同键名的那些值“抛弃”
2.如果合并的数组中有相同的数字键名,则取最先出现的值而把后面拥有相同键名的那些值“抛弃”
3.如果只有一个数组,并且该数组是数字索引的,则键名会以连续方式重新索引。(和array_merge()方法相同)
2.php进行二维数组排序
https://www.cnblogs.com/wenzheshen/p/9455554.html
3.两个一维有序数组合并为一个有序的一维数组,时间复杂度最低的办法
排序算法 - 桶排序
4.学生选课表的各种sql语句
5.redis的rehash过程中如何知道一个key是在ht[0]还是ht[1]
redis的hash怎么实现以及 rehash过程是怎样的?和JavaHashMap的rehash有什么区别,与ConcurrentHashMap扩容的策略比较?
浅谈Redis中的Rehash机制
6.redis实现延时队列
https://github.com/ouqiang/delay-queue 源码
核心就是一条命令:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
score是timestamp,如果最小的score小于当前时间说明任务就绪,放入执行队列(执行任务);否则原封不动塞会延时队列;由于会存在延时队列的时间精度问题,所以最好一秒一次;
另外为了防止延时队列为空带来的无效loop最好用brpop,为空时阻塞直到超时或不为空;
7.# redis 单线程的理解
8.# php面试题汇总四(基础篇附答案)
9.原地算法
10.动态规划算法
11.redis主从同步过程 具体怎么实现
12.脑裂
13.mysql 回表 聚簇非聚簇
14.pconnect
15.平滑重启原理
16.redis和memcacha内存分配方式
17.mysql 行列转置 排序函数 1223 1224
18.awk top 等命令
19.linux文件系统 mysql数据什么时候写到文件中
20.linux poll epoll
21.单例模式 __clone 阻断 记得unsealize 重写 因为sealize将对象转为字符串 unsealize时会重新转为对象
https://www.cnblogs.com/xuey/p/9787125.html
23.二进制转换 二进制运算