您的位置:首页 > 职场人生

面试题总结

2015-06-14 14:33 417 查看
1、关于商品秒杀的问题,如何保证100件商品,只能使前100个用户抢到呢?

     思路1、我们可以使用redis缓存的list存储类型,当有一个用户请求到来时,将该用户的id存放在list中,这样当list中的llen长度达到100时就不在添加新的用户id,然后在从list中取出对应的id操作数据库,这样有一个缺点是会有一定的延迟。

     谁有更好的思路,欢迎讨论

2、关于mysql索引问题

     比如现在有一个帖子表

    tiezi

    id       primary key      auto_increment    tiezi表主键

    type   tiezi所属板块

    reply_time   回帖时间

    pid    此板块所属父板块

    问题1:我现在要取板块(type=1)里的所有帖子,并根据回帖时间进行倒序排列,你如何建立索引?

    答:在tiezi表中的type和reply_time建立一个联合索引

           select * from ties where type=1 order by reply_time desc

           此时两个索引都可以被用到。

     问题2:我现在要取父板块里的所有帖子,并根据回帖时间进行倒序排列,你又如何建立索引呢?

     答:在tiezi表中的pid和reply_time建立一个联合索引

   select * fron ties where pid=1 order by reply_time desc;

          这里两个索引都可以被用到。

     如果只在type,reply_time,pid上建立单个的索引

     select * from ties where type=1 order by reply_time desc

     这时就只能用到type这一个索引,而reply_time这个索引则是没有办法用到的,同理,select * from ties where pid=1 order by reply_time desc 也只能用到pid这一个索引

3、ngnix和apache的优缺点是什么?为什么会有这些区别吗?

     可以参考下:http://weilei0528.blog.163.com/blog/static/206807046201321810834431/

4、有一个100G的访问日志文件,如何统计出每秒访问量?

     思路1:将100G的文件分成100个小文件,然后逐个统计,面试官说思路对了,但具体怎么做我也不是很清楚,哈哈。。。

5、如何定义一个全局变量,使所有的文件不需要引入就可以访问的到呢?

      在php.ini中修改register_globals=on

6、http1.1和http1.0的区别是什么?

     可以参考一下:http://blog.csdn.net/forgotaboutgirl/article/details/6936982
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试题 php