總結一些面試的問題

一、redis是單線程仍是多線程?php

redis是單線程的,memcached使用的是多線程html

http://blog.jobbole.com/100079/redis

2 、redis數據類型?set集合的大小?list中BLPOP和LPOP的區別?編程

string list hash set 有序set數組

scard key緩存

BLPOP 是列表的阻塞式(blocking)彈出原語。php7

它是 LPOP 命令的阻塞版本,當給定列表內沒有任何元素可供彈出的時候,鏈接將被 BLPOP 命令阻塞,直到等待超時或發現可彈出元素爲止。多線程

三、yaf的本地類和全局類memcached

全局類是指, 全部產品之間共享的類, 這些類庫的路徑是經過ap.library在php.ini(固然,若是PHP在編譯的時候, 支持了with-config-file-scan-dir,那麼也能夠寫在單獨的ap.ini中)oop

而本地類是指, 產品自身的類庫, 這些類庫的路徑是經過在產品的配置文件中, 經過ap.library配置的.

在Yaf中, 經過調用Yaf_Loader的registerLocalNamespace方法, 來申明那些類前綴是本地類, 便可.

http://www.laruence.com/manual/yaf.autoloader.html#yaf.autoloader.library

四、php7新特性?

標量類型聲明

返回值類型聲明

null合併符

太空船操做符

define 定義常量數組

匿名類

http://php.net/manual/zh/migration70.new-features.php

五、php魔術方法

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep()__wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo() 

http://php.net/manual/zh/language.oop5.magic.php#object.invoke

六、php的unset會釋放內存嗎?
別懷疑,PHP的unset確實會釋放內存(固然, 還要結合引用和計數, 這部分的內容請參看我以前的文章深刻理解PHP原理之變量分離/引用), 但這個釋放不是C編程意義上的釋放, 不是交回給OS.而會把這塊內存, 納入本身維護的空閒內存列表. 而對於小塊內存來講, 更可能的是, 把它放到內存緩存列表中去(後記, 某些版本的PHP, 好比我驗證過的PHP5.2.4, 5.2.6, 5.2.8, 在調用get_memory_usage()的時候, 不會減去內存緩存列表中的可用內存塊大小, 致使看起來, unset之後內存不變, 見評論).

http://www.laruence.com/2011/03/04/1894.html

七、如何防止對外的公共接口被刷(如短信接口)?

(1)增長圖形驗證
(2)單IP請求次數限制
(3)限制號碼發送

https://zhuanlan.zhihu.com/p/20879468

相關文章
相關標籤/搜索