PHP 7
的內存回收原理?請詳細描述ZendMM
的工做原理php
PHP 7
的垃圾回收和 PHP 5
有什麼區別?PHP 7
中對zVal
作了哪些修改?PHP 7
中哪些變量類型在棧,哪些變量類型在堆?變量在棧會有什麼優點?PHP 7
是如何讓變量新建在棧的?前端
PHP
中HashMap
的結構是如何實現的?下面代碼中,在PHP 7
下, $a
和 $b
、$c
、$d
分別指向什麼zVal
結構?vue
$d
被修改的時候,PHP 7
/ PHP 5
的內部分別會有哪些操做?git
$a = 'string'; $b = &$a; $c = &$b; $d = $b; $d = 'to';
JIT
是作了哪些優化,從而對PHP
的速度有很多提高?strtr
和 str_replace
有什麼區別,二者分別用在什麼場景下?strtr
的程序是如何實現的?算法
.
,在PHP內核中有哪些操做?屢次.
鏈接,是否會形成內存碎片過多?vuex
PHP
中建立多進程有哪些方式?互斥信號該如何實現?數據庫
Swoole
服務端啓動後有哪些進程,這些進程分別是完成什麼工做?PHP進程
偶爾會卡死(或者運行卡頓),請問如何檢測本質問題?Laravel
的中間件的順序執行,是如何實現的?實現管道的makeFn
函數安全
function pipe($input, $list) { $fn = makeFn($list); return $fn($input); } $r = pipe(0, [$a, $b, $c]); echo $r; //$a, $b, $c 相似於 $a = function($input, $next) { $input++; $output = $next($input); return $output; }; function makeFn($list){ //請實現 }
PHP
實現一個定時任務器,相似crontab
,須要作到前一個任務不論運行時長、運行失敗,都不能影響下一個任務的準點執行?PHP
中密碼加密,使用什麼方式加密?這種加密的優勢是什麼?服務器
RSA
AES
加密的區別,分別用於什麼場景下?實現以下函數(PHP 7)多線程
echo a(1, 3); //4 echo a(3)(5); //8 echo a(1, 2)(3, 4, 5)(6); //21
class Controller { /** * @Route("/", name="index") * @CheckRequest */ public function index(Request $request){ return 'result'; } }
IoC
(DI
)的實現原理?{} () [] <>
四種配對符號,要求寫一個算法檢查相似{([()()]<()>)}
是否配對(此字符串是正確的配對),{([()(])<()>)}
便是不合規,由於其中(])
的()
跨越了]
3456789ABCDEFGHJKMNPQRSTUVWXY
,其中不含有印刷歧義的0 O 1 I L 2 Z
。須要快速生成並能快速驗證是否正確寫一個最長匹配的替換算法,好比字符串aabcabcabaa
應該獲得的結果是1345
,最長匹配會這樣分割:aabc abc ab aa
替換對應關係以下
ab => 4 aa => 5 aabc => 1 abc => 3
MySQL
分佈式,有哪些方式?MySQL
主從同步,和主主同步有哪些區別,以及優劣勢?Laravel
中,多態一對多,多對多,數據庫要怎麼設計?好比一個關鍵詞表tags
,須要關聯用戶、帖子、評論、視頻等表。
MySQL
的注入原理,以及防止注入有哪些方式?怎麼解決數據庫中常見的 N+1 效率問題
好比:
$users = SELECT * FROM `users` WHERE `gender` = 'male'; foreach ($users as &$user) $user['posts'] = SELECT * FROM `posts` WHERE `user_id` = $user['id'];
null
,哪些狀況下不容許?MySQL
中髒讀應該怎麼處理?引伸:好比京東的庫存,0點多人搶購的時候庫存問題?
以下數據庫中會有哪些值
//請注意是多重嵌套事務 START TRANSACTION; INSERT INTO `users` (`name`) VALUES('a'); START TRANSACTION; INSERT INTO `users` (`name`) VALUES('b'); START TRANSACTION; INSERT INTO `users` (`name`) VALUES('c'); ROLLBACK; COMMIT; ROLLBACK;
Elasticsearch
如何實現相似SQL
的 WHERE id = 12 AND gender IN ('male', 'unknow');
Elasticsearch
如何實現相似SQL
的 GROUP BY nickname, gender
Redis
是如何保證執行的原子性的?Redis
在事務中如何作到:發現事務執行過程當中數據被污染就回滾執行?XSS
注入原理,以及如何防止?Csrf
注入原理,以及如何防止?ES 6
中的 Promise
對象是作什麼的?ES 6
中async、await
的使用場景?ES 6
中 遍歷器Iterator
怎麼寫,其做用是什麼?回調地獄(callback hell
) 如何使用 遍歷器Iterator
實現,提示:Thunk
寫出下面代碼執行後輸出的內容
var p1 = new Promise(resolve => { console.log(1); resolve(2); }) let p2 = new Promise(resolve => { console.log(3); resolve(p1); }); p1.then(re => { console.log(re); }); p2.then(re => { console.log(re); });
Javascript
的Event Loop
規範,並描述MacroTask
機制和MicroTask
機制的區別,以及對應的函數?vue
和 angularJS
中檢測髒數據
的原理有什麼區別?vue
中,vuex
的主要做用是什麼?vue
中 data
和computed
有什麼區別?
{ computed: { now() { return new Date(); } } }
上面的now
變量,是否可以在每次調用時獲得當前時間?
vuex
中mutations
和actions
有什麼區別?vuex
中如何在外部(能夠理解爲任意一段<script>
中)設置變量的值,以及如何調用mutations
HTTPS
(SSL
)工做原理?PHP
時,客戶端的IP
能僞造嗎?若是能,列出僞造方法;若是不能,說明緣由?HTTPS
不能被劫持?HTTP協議
是什麼,以及HTTP 2
和 HTTP 1.1
有什麼區別?IP協議
、TCP協議
,以及UDP協議
與它們的區別。TCP協議
中,最大傳輸單元MTU
通常最大是多少,在TCP協議
中,若是一個數據被分割成多個包,這些包結構中什麼字段會被標記相同。UDP
分包和TCP
分包會有哪些區別?HTTP協議
中 Transfer-Encoding: Chunked
適用於哪些應用場景,這個與使用Content-Length: xxx
在收到的報文包上有哪些區別?epoll
和poll、select
的區別,爲何epoll
會具有性能優點?驚羣
的緣由?有什麼有效的方法能夠避免驚羣?Hash一致性
,這個方法主要運用在什麼場景?Redis
如何完成一個分佈式鎖?ZooKeeper
能解決哪些問題?具體說明。OAuth2
的工做原理,繪製出其工做的時序圖?Swoole
中協程實現原理,以及爲何會提高效率?git
放棄未提交的文件有哪些方法?git
刪除遠程分支、Tag
有什麼方法?git
覆蓋遠程倉庫有什麼辦法?CentOS
下安裝php擴展
有哪些方法?