摘要:最近面試了不少公司,正好把記得的問題做個(gè)總結(jié)。抽象類的接口的區(qū)別,不在于編程實(shí)現(xiàn),而在于程序設(shè)計(jì)模式的不同。一般來講,抽象用于不同的事物,而接口用于事物的行為。
最近面試了不少公司,正好把記得的問題做個(gè)總結(jié)。
本文 github 會(huì)持續(xù)更新
公眾號(hào)搜索 蘇生不惑 或者掃二維碼關(guān)注,每周更新。
簡(jiǎn)歷關(guān)于簡(jiǎn)歷怎么寫,知乎上有很多對(duì)應(yīng)問題,可以自行搜索,這里推薦幾個(gè)簡(jiǎn)歷相關(guān)的 repo
簡(jiǎn)歷常用例句
程序員簡(jiǎn)歷模板
在線簡(jiǎn)歷
$mail = "test@sina.com"; //郵箱地址 $pattern = "/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,})$/"; preg_match($pattern, $mail, $matches); //驗(yàn)證可以使用 filter_var($email, FILTER_VALIDATE_EMAIL)關(guān)系比較
參考官網(wǎng)
echo (int)((0.1+0.7)*10);//7看似有窮的小數(shù), 在計(jì)算機(jī)的二進(jìn)制表示里卻是無窮的 http://www.cnblogs.com/datang...
echo serialize(0.1+0.7); //d:0.79999999999999993;
ps cat tail top awk
javascript跨域如何實(shí)現(xiàn)jsonp 和 cors
熟悉的5種設(shè)計(jì)模式及用單例模式建立一個(gè)數(shù)據(jù)庫連接單例 工廠 策略 適配器 觀察者
link = mysql_connect($host, $username, $password); $this->query("SET NAMES "utf8"", $this->link); //echo mysql_errno($this->link) . ": " . mysql_error($link). "n"; //var_dump($this->link); return $this->link; } private function __clone() { } public static function get_class_nmdb($host, $username, $password) { //$connector = new nmdb($host, $username, $password); //return $connector; if (FALSE == (self::$_instance instanceof self)) { self::$_instance = new self($host, $username, $password); } return self::$_instance; } // 連接數(shù)據(jù)表 public function select_db($database) { $this->result = mysql_select_db($database); return $this->result; } // 執(zhí)行SQL語句 public function query($query) { return $this->result = mysql_query($query, $this->link); } // 將結(jié)果集保存為數(shù)組 public function fetch_array($fetch_array) { return $this->result = mysql_fetch_array($fetch_array, MYSQL_ASSOC); } // 獲得記錄數(shù)目 public function num_rows($query) { return $this->result = mysql_num_rows($query); } // 關(guān)閉數(shù)據(jù)庫連接 public function close() { return $this->result = mysql_close($this->link); } } $connector = DBHelper::get_class_nmdb($host, $username, $password); $connector -> select_db($database); ?>冒泡排序 大數(shù)在前 小數(shù)在后
$arr=[5,2,8,1,9]; $len=count($arr); for($k=1;$k<$len;$k++) { for($j=0;$j<$len-$k;$j++){ if($arr[$j]<$arr[$j+1]){ list($arr[$j+1],$arr[$j])=[$arr[$j],$arr[$j+1]]; } } } print_r($arr);如何實(shí)現(xiàn)單點(diǎn)登錄
利用 jwt 實(shí)現(xiàn) session 共享,具體使用 jwt 參考 http://blog.leapoahead.com/20...
出現(xiàn)性能瓶頸如何快速定位解決服務(wù)器負(fù)載 慢日志 xhprof 慢sql
熟悉的 nosql 和 sql 有什么區(qū)別(優(yōu)勢(shì),劣勢(shì))Memcache,Redis 都是內(nèi)存數(shù)據(jù)庫
redis是一個(gè)開源的支持多種數(shù)據(jù)類型的key=>value的存儲(chǔ)數(shù)據(jù)庫。支持字符串、列表、集合、有序集合、哈希五種類型
memcache 只支持簡(jiǎn)單的key/value數(shù)據(jù)結(jié)構(gòu),不像Redis可以支持豐富的數(shù)據(jù)類型。
無法進(jìn)行持久化,數(shù)據(jù)不能備份,只能用于緩存使用,且重啟后數(shù)據(jù)全部丟失
高質(zhì)量代碼三要素:可讀性,可維護(hù)性,可變更性 代碼質(zhì)量評(píng)價(jià):低耦合,高內(nèi)聚 https://segmentfault.com/a/11...
學(xué)習(xí)PHP的渠道 看過的PHP書,了解的PHP開源項(xiàng)目php.net sf google
《Modern PHP》《PHP核心技術(shù)和最佳實(shí)踐》《PHP the right way》
laravel carbon queryphp等
索引的本質(zhì)還是提升查詢數(shù)據(jù)庫的速度,減少服務(wù)器I/O開銷
主鍵 唯一 普通 聯(lián)合
function mydump() { $args = func_num_args(); for($i = 0;$i < $args; $i ++) { $param = func_get_arg($i); switch(gettype($param)) { case "NULL" : echo "NULL"; break; case "boolean" : echo ($param ? "bool(true)" : "bool(false)"); break; case "integer" : echo "int($param)"; break; case "double" : echo "float($param)"; break; case "string" : dumpString($param); break; case "array" : dumpArr($param); break; case "object" : dumpObj($param); break; case "resource" : echo "resource"; break; default : echo "UNKNOWN TYPE"; break; } } } function dumpString($param) { $str = sprintf("string(%d) %s",strlen($param),$param); echo $str; } function dumpArr($param) { $len = count($param); echo "array($len) { "; foreach($param as $key=>$val) { if(is_array($val)) { dumpArr($val); } else { echo sprintf("["%s"] => %s(%s)",$key,gettype($val),$val); } } echo "} "; } function dumpObj($param) { $className = get_class($param); $reflect = new ReflectionClass($param); $prop = $reflect->getDefaultProperties(); echo sprintf("Object %s #1(%d) { ",$className,count($prop)); foreach($prop as $key=>$val) { echo "["$key"] => "; mydump($val); } echo "}"; } class MyClass { protected $_name; function test() { echo "hello"; } } $str = "test"; mydump(new MyClass(),$str); echo " "; $arr2 = array( "1" => "Ddaddad", "one" => array("two" => "Dffffd" ), "three" => 1 ); mydump($arr2); mydump(1,true,null);如何設(shè)計(jì)一個(gè)微博
用戶可以關(guān)注他人 可以發(fā)布微博 可以查看關(guān)注人的微博 可以評(píng)論微博
用戶表 關(guān)注表 微博表 評(píng)論表
獲取上周一和周日的日期echo date("Y-m-d",strtotime("monday last week"));
echo date("Y-m-d", strtotime("-" . (6+date("w")) . " days"));
echo date("Y-m-d",strtotime("sunday last week"));
array_values(rsort(array_unique(array_filter($arr))))
對(duì)二維數(shù)組按照 title+pubscore 去重function unique_by_key($arr, $key1,$key2) { $tmp_key = []; foreach ($arr as $key => $item) { if ( in_array($item[$key1].$item[$key2], $tmp_key) ) { unset($arr[$key]); } else { $tmp_key[] = $item[$key1].$item[$key2]; } } return $arr; } //使用示例: $arr = array( array("id" => 1, "title" => "a","pubscore"=>1), array("id" => 2, "title" => "a","pubscore"=>1), array("id" => 3, "title" => "b","pubscore"=>2), array("id" => 4, "title" => "c","pubscore"=>3), array("id" => 5, "title" => "d","pubscore"=>3), ); print_r(unique_by_key($arr,"title","num"));寫一個(gè)正則 匹配新聞標(biāo)題不能為數(shù)字,純字母,不能包含 彩票/廣告/啟示 linux 壓縮 解壓縮命令
tar -cvf jpg.tar *.jpg
tar -xvf jpg.tar
php test.php & >test.log
寫一個(gè)shell命令 實(shí)現(xiàn)找出所有包含 spread的進(jìn)程,殺死這些進(jìn)程并記錄日志,日志包含殺死進(jìn)程名稱和殺死進(jìn)程的時(shí)間ps -ef |grep spread |grep -v grep |awk "{print $2}"|xargs kill -9
kill -9 $(ps -ef | grep spread| grep -v grep | awk "{print $2}")
參考 https://segmentfault.com/a/11...
排行榜統(tǒng)計(jì) sql訂單表有如下字段
id 自增id
user_id 購(gòu)買者id
product_id 商品id
time 購(gòu)買時(shí)間
price 訂單總價(jià)
找出銷量大于1000的商品,按銷量倒序 和 找出消費(fèi)最多的10個(gè)用戶
select product_id,count(*) s from orders group by product_id order by s having s>1000;
select user_id,sum(price) s from orders group by user_id order by s desc limit 10;
列出你知道的魔術(shù)方法 ,并說明他們的用途參考手冊(cè) http://php.net/manual/zh/lang...
寫出你知道的http頭部屬性 注意大小寫 并說明用途Accept 指定客戶端能夠接收的內(nèi)容類型 Accept: text/plain, text/html
Accept-Charset 瀏覽器可以接受的字符編碼集。 Accept-Charset: iso-8859-5
Accept-Encoding 指定瀏覽器可以支持的web服務(wù)器返回內(nèi)容壓縮編碼類型。 Accept-Encoding: compress, gzip
Accept-Language 瀏覽器可接受的語言 Accept-Language: en,zh
Accept-Ranges 可以請(qǐng)求網(wǎng)頁實(shí)體的一個(gè)或者多個(gè)子范圍字段 Accept-Ranges: bytes
Authorization HTTP授權(quán)的授權(quán)證書 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cache-Control 指定請(qǐng)求和響應(yīng)遵循的緩存機(jī)制 Cache-Control: no-cache
Connection 表示是否需要持久連接。(HTTP 1.1默認(rèn)進(jìn)行持久連接) Connection: close
Cookie HTTP請(qǐng)求發(fā)送時(shí),會(huì)把保存在該請(qǐng)求域名下的所有cookie值一起發(fā)送給web服務(wù)器。 Cookie: $Version=1; Skin=new;
Content-Length 請(qǐng)求的內(nèi)容長(zhǎng)度 Content-Length: 348
Content-Type 請(qǐng)求的與實(shí)體對(duì)應(yīng)的MIME信息 Content-Type: application/x-www-form-urlencoded
Date 請(qǐng)求發(fā)送的日期和時(shí)間 Date: Tue, 15 Nov 2010 08:12:31 GMT
Expect 請(qǐng)求的特定的服務(wù)器行為 Expect: 100-continue
From 發(fā)出請(qǐng)求的用戶的Email From: user@email.com
Host 指定請(qǐng)求的服務(wù)器的域名和端口號(hào) Host: www.zcmhi.com
If-Match 只有請(qǐng)求內(nèi)容與實(shí)體相匹配才有效 If-Match: “737060cd8c284d8af7ad3082f209582d”
If-Modified-Since 如果請(qǐng)求的部分在指定時(shí)間之后被修改則請(qǐng)求成功,未被修改則返回304代碼 If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT
If-None-Match 如果內(nèi)容未改變返回304代碼,參數(shù)為服務(wù)器先前發(fā)送的Etag,與服務(wù)器回應(yīng)的Etag比較判斷是否改變 If-None-Match: “737060cd8c284d8af7ad3082f209582d”
If-Range 如果實(shí)體未改變,服務(wù)器發(fā)送客戶端丟失的部分,否則發(fā)送整個(gè)實(shí)體。參數(shù)也為Etag If-Range: “737060cd8c284d8af7ad3082f209582d”
If-Unmodified-Since 只在實(shí)體在指定時(shí)間之后未被修改才請(qǐng)求成功 If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT
Max-Forwards 限制信息通過代理和網(wǎng)關(guān)傳送的時(shí)間 Max-Forwards: 10
Pragma 用來包含實(shí)現(xiàn)特定的指令 Pragma: no-cache
Proxy-Authorization 連接到代理的授權(quán)證書 Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Range 只請(qǐng)求實(shí)體的一部分,指定范圍 Range: bytes=500-999
Referer 先前網(wǎng)頁的地址,當(dāng)前請(qǐng)求網(wǎng)頁緊隨其后,即來路 Referer: http://www.zcmhi.com/archives...
TE 客戶端愿意接受的傳輸編碼,并通知服務(wù)器接受接受尾加頭信息 TE: trailers,deflate;q=0.5
Upgrade 向服務(wù)器指定某種傳輸協(xié)議以便服務(wù)器進(jìn)行轉(zhuǎn)換(如果支持) Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
User-Agent User-Agent的內(nèi)容包含發(fā)出請(qǐng)求的用戶信息 User-Agent: Mozilla/5.0 (Linux; X11)
Via 通知中間網(wǎng)關(guān)或代理服務(wù)器地址,通信協(xié)議 Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Warning 關(guān)于消息實(shí)體的警告信息 Warn: 199 Miscellaneous warning
1.2.3.4
4.5.6.7
2.3.4.5
1.2.3.4
寫出 shell命令 統(tǒng)計(jì) ip出現(xiàn)的次數(shù) 結(jié)果類似
1.2.3.4 2
4.5.6.7 1
2.3.4.5 1
awk "{arr[$1]++;}END{for(i in arr){print i , arr[i] }}" test.txt
__destruction() 和 __autoload()觸發(fā)時(shí)機(jī)unset 和 加載一個(gè)為包含的文件
如何實(shí)現(xiàn)一個(gè)數(shù)組[1,2,3]連續(xù)復(fù)制3次變?yōu)閇1,2,3,1,2,3,1,2,3]$arr=[1,2,3]; print_r(f($arr,3)); function f($arr,$num){ return array_filter(explode(",",str_repeat(implode(",",$arr).",",$num))); }抽象類和接口的區(qū)別,分別在什么場(chǎng)景使用
抽象類可以實(shí)現(xiàn)的功能,接口也可以實(shí)現(xiàn)。
抽象類的接口的區(qū)別,不在于編程實(shí)現(xiàn),而在于程序設(shè)計(jì)模式的不同。
一般來講,抽象用于不同的事物,而接口用于事物的行為。
參考 https://segmentfault.com/a/11...
一群猴子排成一圈,按1,2,...,n依次編號(hào)。然后從第1只開始數(shù),數(shù)到第m只,把它踢出圈,從它后面再開始數(shù),再數(shù)到第m只,在把它踢出去...,如此不停的進(jìn)行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n,輸出最后那個(gè)大王的編號(hào)
echo monkey(10,4);//5 function monkey($m,$n){ $arr=range(1,$m); $i=0; while(count($arr)>1){ if(($i+1)%$n==0){ unset($arr[$i]); }else{ $arr[]=$arr[$i]; unset($arr[$i]); } $i++; } return $arr[$i]; }寫一個(gè)快速排序
function quickSort($arr) { $len = count($arr); if($len <= 1) { return $arr; } $base = $min = $max = []; $base_item = $arr[0]; for($i = 0; $i < $len ; $i++) { if($arr[$i] < $base_item) { $min[] = $arr[$i]; }elseif($arr[$i] > $base_item) { $max[] = $arr[$i]; }else { $base[] = $arr[$i]; } } $min = quickSort($min); $max = quickSort($max); return array_merge($min,$base,$max); }實(shí)現(xiàn)一個(gè)發(fā)紅包功能,100元發(fā)給8人 實(shí)現(xiàn)斐波那契數(shù)列
function fib($n) { if($n <= 0) return 0; if ($n <= 2) return 1; return fib($n - 1) + fib($n - 2); } function fib2($n) { if ($n <= 2) return 1; $arr = [0,1,1]; for ($i = 3; $i <= $n; $i++) { $arr[$i] = $arr[$i - 1] + $arr[$i - 2]; } return $arr[$n]; }二分查找
function binSearch($arr,$search){ $height=count($arr)-1; $low=0; while($low<=$height){ $mid=floor(($low+$height)/2);//獲取中間數(shù) if($arr[$mid]==$search){ return $mid; }elseif($arr[$mid]<$search){//當(dāng)中間值小于所查值時(shí),則$mid左邊的值都小于$search,此時(shí)要將$mid賦值給$low $low=$mid+1; }elseif($arr[$mid]>$search){//中間值大于所查值,則$mid右邊的所有值都大于$search,此時(shí)要將$mid賦值給$height $height=$mid-1; } } return "查找失敗"; }二維數(shù)組轉(zhuǎn)換成一維數(shù)組
$user = array( array("id" => 100, "username" => "a1"), array("id" => 101, "username" => "a2"), array("id" => 102, "username" => "a3"), array("id" => 103, "username" => "a4"), array("id" => 104, "username" => "a5"), ); $result = array_reduce($user, function ($result, $value) { return array_merge($result, array_values($value)); }, array()); /* Array ( [0] => 100 [1] => a1 [2] => 101 [3] => a2 [4] => 102 [5] => a3 [6] => 103 [7] => a4 [8] => 104 [9] => a5 ) */ $result = []; array_walk_recursive($user, function($value) use (&$result) { array_push($result, $value); }); $result = []; array_map(function ($value) use (&$result) { $result = array_merge($result, array_values($value)); }, $user);2次foreach 輸出什么
//參考https://segmentfault.com/q/1010000008279730 $arr = [1,2,3]; foreach($arr as &$v) { //nothing todo. } foreach($arr as $v) { //nothing todo. } var_export($arr); //output:array(0=>1,1=>2,2=>2)面試題 nginx 熱啟動(dòng)
nginx -s reload
讀取1G大文件使用游標(biāo)或者yield生成器來獲取數(shù)據(jù)庫的數(shù)據(jù) https://segmentfault.com/a/11...
http https 區(qū)別HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,要比http協(xié)議安全。 參考 https://www.itcodemonkey.com/...
redis 持久化aof rdb http://www.hoohack.me/2018/04...
https://juejin.im/entry/5b35a...
user用戶表、role角色表、perm權(quán)限表、role-user用戶角色關(guān)聯(lián)表、role-perm角色權(quán)限關(guān)聯(lián)表
apache nginx 區(qū)別https://juejin.im/entry/5b34b...
nginx從入門到實(shí)踐 https://juejin.im/post/5a2600...
樂觀鎖(代碼處理)與悲觀鎖( select for update) http://www.hollischuang.com/a...
2038 時(shí)間問題//解決:DateTime 或者 使用64位操作系統(tǒng) $str_time = "2100-10-02"; function newStrToTime($str_time) { $result = strtotime($str_time); if(empty($result)) { $date = new DateTime($str_time); $result = $date->format("U"); } return $result; }談?wù)勛罱⑿胖Ц?xxe 漏洞
php 調(diào)用simplexml_load_string之前把外部引用實(shí)體關(guān)掉:
libxml_disable_entity_loader(true);
$data = json_decode(json_encode(simplexml_load_string($xml, "SimpleXMLElement", LIBXML_NOCDATA)), true);
* * * * * command
分 時(shí) 日 月 周 命令
工具 https://crontab-generator.org/
https://crontab.guru/
https://tool.lu/crontab/
https://atool.vip/crontab
緩存字節(jié)碼
array_merge + 區(qū)別參考
如何實(shí)現(xiàn)多繼承trait的出現(xiàn)就是一種解決需要多繼承場(chǎng)景的方式。 使用場(chǎng)景是如果多個(gè)類都要用到同樣的屬性或者方法,這個(gè)時(shí)候使用Traits可以方便的給類增加這些屬性或方法,而不用每個(gè)類都去繼承一個(gè)類,如果說繼承類是豎向擴(kuò)展一個(gè)類,那么Traits是橫向擴(kuò)展一個(gè)類,從而實(shí)現(xiàn)代碼復(fù)用。
PHP中Trait詳解及其應(yīng)用
PHP 多線程https://www.cnblogs.com/kluan...
https://www.cnblogs.com/zhenb...
class Request extends Thread { public $url; public $response; public function __construct($url) { $this->url = $url; } public function run() { $this->response = file_get_contents($this->url); } } $ch = new Request("www.baidu.com"); $ch ->start();php執(zhí)行流程
瀏覽器輸入U(xiǎn)RL->Nginx(從配置文件中加載nginx的fast-cgi模塊)->php-fpm(fastcgi的進(jìn)程管理器)
先到php-fpm的master進(jìn)程(負(fù)責(zé)監(jiān)聽端口,接收Nginx的請(qǐng)求,據(jù)子進(jìn)程的狀態(tài)將請(qǐng)求分配給子進(jìn)程去處理)->worker進(jìn)程負(fù)責(zé)處理請(qǐng)求
worker 進(jìn)程則一般有多個(gè)(具體數(shù)量根據(jù)實(shí)際需要配置),每個(gè)進(jìn)程內(nèi)部都嵌入了一個(gè) PHP 解釋器,是 PHP 代碼真正執(zhí)行的地方。
master 進(jìn)程做的事情是 PHP環(huán)境初始化、事件監(jiān)聽(重啟/重載、關(guān)閉、分發(fā)請(qǐng)求)、子進(jìn)程狀態(tài)
https://youngperson.github.io...
數(shù)據(jù)庫字段冗余,增添索引、優(yōu)化sql、分庫分表 主從分離
常用 git 命令git add git log git pull git push git remote git checkout
php7常用新特性比如標(biāo)量類型聲明、返回類型聲明
自動(dòng)加載如何實(shí)現(xiàn)的spl_autoload_register composer
用過哪些PHP擴(kuò)展curl mb
php 異步如何實(shí)現(xiàn)curl_multi_exec
了解的微服務(wù) redis 過期如何處理惰性刪除與定期刪除
explain 關(guān)注哪些type 字段 const、eq_reg、ref、range、index和ALL
對(duì)你最有挑戰(zhàn)的項(xiàng)目是怎樣的 laravel 優(yōu)勢(shì)是什么Laravel核心代碼學(xué)習(xí)
非技術(shù)問題為什么從上家公司離職?
未來三年的職業(yè)規(guī)劃的怎樣的?
你有什么問的?
PHP面試準(zhǔn)備
關(guān)于面試/談Offer/程序員職場(chǎng)生涯等
少寫PHP "爛"代碼
PHP工程師面試題目
PHPer 面試指南
一個(gè)16年畢業(yè)生所經(jīng)歷的php面試
找工作遇到的面試題目
大話編程
https://mp.weixin.qq.com/s/13...
strace幫助你調(diào)試PHP代碼
Resetful API 設(shè)計(jì)規(guī)范
Java 基礎(chǔ)知識(shí)、底層原理 面試
PHP基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)專題系列目錄地址
后端架構(gòu)師技術(shù)圖譜
記一次面試,分享我整理的答案
PHP 面試知識(shí)點(diǎn)匯總
平時(shí)積累
PHP 代碼簡(jiǎn)潔之道
PHP PSR 標(biāo)準(zhǔn)規(guī)范
https://laravel-china.org/doc...
PHP 開發(fā)知識(shí)結(jié)構(gòu)
PHP多進(jìn)程系列筆記
Redis從入門到實(shí)踐
淺談消息隊(duì)列及常見的消息中間件
《程序員練級(jí)攻略》推薦必讀書籍清單
redis開發(fā)設(shè)計(jì)規(guī)范及案例分析
MySQL運(yùn)維:索引與查詢性能優(yōu)化
從輸入U(xiǎn)RL到頁面展示到底發(fā)生了什么
數(shù)據(jù)結(jié)構(gòu)與算法
PHP面試:說說你理解的二叉樹吧
初中級(jí)PHP面試基礎(chǔ)匯總
https://segmentfault.com/a/11...
php 經(jīng)典排序算法(解析)
PHP面試之一:PHP基礎(chǔ)知識(shí)點(diǎn)
PHPer、Laravel 面試可能會(huì)遇到的問題及答案
PHPer 面試指南-擴(kuò)展閱讀資源整理
3年P(guān)HPer的面試總結(jié)
PHP 無限級(jí)分類最佳實(shí)踐
數(shù)據(jù)庫面試題(開發(fā)者必看)
10個(gè)值得深思的PHP面試問題
php 高并發(fā)
SegmentFault 技術(shù)周刊 Vol.31 - 碼農(nóng)也要學(xué)算法
SegmentFault 技術(shù)周刊 Vol.6 - 面試那些事兒
筆試面試
PHP常見算法-面試篇
PHPer 面試指南-擴(kuò)展閱讀資源整理
shell在手分析服務(wù)器日志不愁
PHP 試題
2018年最新PHP面試題
你“聽”過這些經(jīng)典排序算法嗎
面試必備之樂觀鎖與悲觀鎖
InterviewMap 是一份打造最好的面試圖譜
給準(zhǔn)備秋招面試的同學(xué)們
程序猿成長(zhǎng)計(jì)劃
laravel學(xué)習(xí)筆記
PHP招人困境
算法系列
PHP技能樹
程序員如何寫好簡(jiǎn)歷
程序員簡(jiǎn)歷應(yīng)該怎么寫?
那些年,我們踩過的PHP的坑
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/29050.html
摘要:最近面試了不少公司,正好把記得的問題做個(gè)總結(jié)。抽象類的接口的區(qū)別,不在于編程實(shí)現(xiàn),而在于程序設(shè)計(jì)模式的不同。一般來講,抽象用于不同的事物,而接口用于事物的行為。 最近面試了不少公司,正好把記得的問題做個(gè)總結(jié)。 本文 github 會(huì)持續(xù)更新 公眾號(hào) 搜索 蘇生不惑 或者掃二維碼關(guān)注,每周更新。 showImg(https://segmentfault.com/img/bVbsYyM?w...
摘要:前言騰訊一面,相比阿里一面來說,騰訊一面先給打電話預(yù)定時(shí)間,這也給了我們這些面試者去準(zhǔn)備的時(shí)間。其實(shí)閉包也就是指有權(quán)訪問另一個(gè)函數(shù)作用域的函數(shù)而已。常用的創(chuàng)建閉包的方法就是在函數(shù)內(nèi)部創(chuàng)建另一個(gè)函數(shù)。 前言 騰訊一面,相比阿里一面來說,騰訊一面先給打電話預(yù)定時(shí)間,這也給了我們這些面試者去準(zhǔn)備的時(shí)間。但是也正是因?yàn)檫@種確定性,也有在等待電話的時(shí)候的心情的忐忑。 背景 我是一名大三學(xué)生,大一...
摘要:作為一個(gè)前端人,阿里巴巴,是我最想去的國(guó)內(nèi)公司,我看重的也不是他薪水如何,完全在于他的技術(shù),這一點(diǎn)可以說明一切。阿里是個(gè)十分重視基礎(chǔ)的公司,和浮躁的前端大環(huán)境形成鮮明的對(duì)比。我不是第一次投阿里巴巴,所以心態(tài)一開始還是挺平和的。 這是去年8月份秋招的面試,五面都面完了,給大家貢獻(xiàn)干貨吧。我沒寫問題的答案,有什么問題可以留言區(qū)問我。 一面 電話面(1小時(shí))電話面問題不多,但是十分考驗(yàn)對(duì)相關(guān)...
閱讀 3736·2021-11-24 09:39
閱讀 2617·2019-08-30 15:54
閱讀 1159·2019-08-30 13:01
閱讀 3436·2019-08-28 18:30
閱讀 1631·2019-08-26 17:44
閱讀 3598·2019-08-26 11:31
閱讀 2422·2019-08-26 10:40
閱讀 1252·2019-08-26 10:27