Requirement

靠譜的C++程序員,所謂的靠譜,其實也就是:

  1. 瞭解 STL 的常用組件,能正確使用 STL
  2. 知道 type_traits ,以及如何使用 type_traits
  3. 對虛函數、重載、虛表有一定了解
  4. 能正確認識C++的異常
  5. 瞭解 Pure C 和 C++ 的 C 子集中比較常見的、明顯的區別

Java 上,我問的問題比較少,遠不如 C++ 多,並且更簡單,也就是:

  1. int/long 的二進制位數,jvm 是否在不同平臺 int/long 的二進制位數是否相同
  2. 對於 StringBuilder,每次追加一個字符,當其長度長到 n 時,時間複雜度是多少
  3. 能否把一個 String 對象,添加到一個 List<Integer> 中
  4. Comparable 和 Comparator 有何區別,如何把非 Comparable 的對象作爲 TreeMap 的 Key
  5. GC 的基本原理(大部分人的回答是調節 gc 參數)

算法+Coding:

  1. 90%以上的人不知道 make_heap 的時間複雜度,知道的人,也都是背的答案。
  2. 完全無 bug 的 binary_search ,只有 3% 。
  3. std::lower_bound 類似功能的函數,目前還沒一個人寫得出來。
  4. 從一組 IP range --> value 的數據中查找單個 IP,允許使用 C++ stl 或 java 基礎類,還沒一個能給出解決辦法。
  5. QuickSort 的最好情況,和 MergeSort 的最好情況,哪個的 KeyCompare 次數更少,目前只有一個人答出。

熟悉 perl, bash, python 等腳本語言

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章