求職遇到的面試題目

美國總統發表於2021-08-24

今年離職面試崗位是高階php/golang工程師 薪水21k+
公司在上海,是跨國公司,員工1萬多人

在面試前我是非常自信的,也認為自己golang和php掌握的非常好。結果。。。。
結果問的我都不會,面試題目是這樣子的 (只記得幾個面試題目,有好幾頁,面試以失敗結束)

注:以下題目請在linux/unix系統機器上實戰回答,得到的結果請將流程截圖在答卷上。技術面試部會詳細驗證答案。請勿在試卷上填寫答案

package main
import "fmt"
func main(){
   for {

   fmt.Printf("golang")
   }

} 
  • 上面的程式如果不用fmt/os/os/syscall/第三方包如何輸出“golang”?
  • 上面的程式編譯好以後,得到什麼檔案?檔案的內容是什麼?是否瞭解檔案的內容?
  • 上面的程式執行後,會建立幾個程式?同時總共有多少個執行緒?
  • 上面的程式執行時,會建立幾個檔案描述符?分別都是什麼?
  • 上面的程式執行時,先執行哪條指令?
  • 上面的程式執行時,按下ctrl+c時,會不會停止?為什麼?
  • 上面的程式執行時,呼叫了多少個函式?
  • 上面的程式執行時,程式如何與編譯好的檔案建立關係?
  • laravel 框架在LNMP環境下執行時,假如laravel控制器響應傳輸如下資料
    {"name:"test",nickname:"test",city:"shanghai"}
    在100萬個請求時,問
  • 1 從瀏覽器到控制器,底層都呼叫了哪些函式?每個函式執行多少時間?
  • 2 100萬個請求時,傳輸多少資料量?應該購買多大的寬頻?
  • 3 在你不方便修改原始碼的情況下(原始碼加密),如何列印mysql查詢語句?
  • 4 如果該架構執行速度太慢,如何最佳化?
$address = '0.0.0.0';
$port = 6666;
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP));
socket_bind($sock, $address, $port);
socket_listen($sock, 5);
$connection = socket_accept($sock);
@1 socket_write($connection, "321",1024);
@2 socket_write($connection, pack("n",321),1024);
@3 socket_write($connection, pack("v",321),1024);
  • 上面的程式,golang不用tcp/http包,如何替換?
  • 上面的程式,ip和埠有什麼用?
  • 上面的程式,埠在記憶體中儲存順序是什麼?如何檢視?
  • 上面的程式,會生成幾個socket 檔案?儲存在什麼位置?
  • 上面的程式,接收客戶端連線後,會不會生成檔案?儲存在哪裡?
  • 上面的程式,@2,@3,@1 都有什麼區別?資料在記憶體怎麼儲存的?各傳送幾個位元組?
  • 上面的程式執行時,假如只能接收100個客戶端連線,再多就不能接收了,你怎麼排查這個問題?
  • 上面的程式執行時,哪些函式是阻塞IO?哪些是非阻塞IO?
  • 上面的程式執行時,會啟動幾個執行緒?
  • 上面的程式在傳送資料時,如果對端已經關閉了,會發生什麼事情?會產生什麼訊號?
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章