面試題總結

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章