今日头条面试经验分享

1.给一个小顶堆,再给你一个数,让你插入到这个堆里。php

思路:把这个数放到堆的最后,而后向上调整堆的最后一个非叶子结点。html

2.求一个 字符串的 最长回文子串  而且返回第一个出现的下标。mysql

思路:中心扩展法,逆序。redis

3.有一个表,有id,name,age等字段,让你查找姓 “李”和姓“王” 而且年龄>18岁的 记录。sql

select * from table where age>18 and (name = '李%' or name ='张%')缓存

4. 对上一问题  如何创建索引,加快查询。服务器

5.tcp三次握手和四次挥手   画图。数据结构

6.线程和进程,以及进程间通讯。tcp

7.php是多进程性语言仍是单进程性语言。memcached

   多进程。

8.vector中都会用到哪些 stl的函数

push_back(),empty(),erase(),count()等。

9.栈的反转,只能使用O(1)的空间。

http://www.cnblogs.com/4everlove/p/3666016.html

10. redis 中都有哪些数据结构。

String  set get decr incr mget
Hash    hget hset hgetall
List    lpush rpush lpop rpop lrange
Set     sadd spop smembers sunion
Sorted set  
pub/sub
Transactions

11. 还有哪些开源的缓存 ,为何不使用memcache等,而使用redis。

从结构上来讲,redis的磁盘存储数据要比mysql简单,而内存结构却比memcached多样和灵活。 
从扩展性来讲,因为redis的底盘简单而稳定,使其有着良好的扩展性,而上层的复杂性使redis能够适应于更多复杂的业务场景。 

12.假设你的服务器性能 不佳,你是如何定位问题的。好比是代码的问题仍是机房的问题等等。

暂时只记起来这么多。