技術問題集 === ## Misc 1. 為什麼要 code review,你 code review 會看甚麼? 2. 盡可能詳述 dynamic librady 的載入過程 3. Dockerfile ADD 與 COPY 4. 說說你遇過的 Compiler bug 5. 說明一下南北橋,還有你所知道的中斷處理 ## Linux 1. 說明 cp -a 跟 cp -r 的差別 2. 說明安裝 Linux 作業系統步驟 3. 怎麼做一個開機自動啟動,並且以事件驅動的服務? 4. 怎麼用 shell script 寫一個部落格 5. 在 Ubuntu 不重裝系統情況下,改成 Debian? 6. 在 Ubuntu 不重裝系統情況下,改成 RHEL? ## Backend 1. 盡可能詳述送一筆 Google 搜尋,中間發生的全過程 ## Frontend 1. 在連上 server 後,你拿到的第一筆回應時,瀏覽器會做甚麼事? 2. 拿到一份完整的 HTML 檔案後,瀏覽器如何把物件算繪到該顯示的地方? ## Language 1. 怎麼透過 C++(或其他原本不支援 serialize 的語言) 實作序列化? 2. 解釋一下 ABI 與 API 3. 說明你對各個語言(比如 Python, C++, Golang, JS...)對於字串記憶體操作方式的理解 ## C++ 1. 如何相容舊版 ABI 2. 解釋一下 xvalue 3. ++a\-\- 4. i = i++ + j 5. 遇過 std::filesystem::exist(std::filesystem::path) 會 throw exception 嗎 6. 假設我有一個 virtual function 我要怎麼知道他距離 vtable 的 offest 有多少? 7. std::filesystem::temp_directory_path() 取得的路徑,跨作業系統實現方式 8. 請解釋 ```cpp template <class T, class U> class Conversion { typedef char Small; class Big { char dummy[2]; }; static Small Test(U); static Big Test(...); static T MakeT(); public: enum { exists = sizeof(Test(MakeT())) == sizeof(Small) }; }; int main() { using namespace std; Conversion<double, int>::exists; } ``` 9. 如果有一張定長的表,先進先出,但是要有 append 跟 read 功能(注意定長)使用 STL 實做 10. [indirect callback](https://hackmd.io/@25077667/B1qvCQLNn) 11. 解釋一下 new operator with type ## Git 1. 說明 git tag 跟 git branch 的差別 2. Git 有哪一些指令會碰觸到 remote server
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up