九章算法:BAT國內班 - 課程大綱


第1章 國內筆試面試風格及准備方法

--- 分享面試經驗,通過例題分析國內面試的風格及准備方法
· 1) C/C++部分:
  實現 memcpy 函數
  STL 中 vector 的實現原理
· 2)概率題部分:
  給 N 張牌和一個隨機函數,設計一個算法對這堆牌進行洗牌
· 3)智力題部分
  25 匹馬,5 個賽道,最少賽多少次找出前三
· 4)操作系統部分
  進程和線程的區別和聯系
· 5)大數據部分
  100 億個整數,如何找到中位數
· 6)算法題部分
  手寫快排
  手寫堆
  刷LintCode

第2章 C/C++面試知識點梳理

--- 本節通過真實的筆試、面試題講解 C++相關的基礎內容,包括各種關 鍵字的作用,字節對齊,智能指針,單例模式等
· 1) 敘述智能指針的原理
  衍生出 STL 中 auto_ptr 以及 shared_ptr 的使用
  如果出現循環引用如何處理?
· 2) C++單例模式寫法
  衍生問題:如何定義一個只能在堆上定義對象的類?棧上呢?
· 3) Struct 的字節對齊問題
· 4) C 與 C++易混淆概念分析
  引用和指針有什么區別? const 和 define 有什么區別? new 和 malloc 有什么區別? define 和 inline 有什么區別?
· 5) static 關鍵字用法總結
  衍生問題:成員函數能否聲明為 static 和 const 的呢? static 函數能否調用非 static 函數
· 6) const 關鍵字用法
· 7) C++四種強制類型轉換

第3章 C/C++面試知識點梳理下
  --- 本節詳細講解 C/C++面試中非常高頻的虛函數、虛繼承以及 C++對象 內存模型,從此遇到這類問題不再“虛”!
  · 1) C++虛函數詳解
  什么是虛函數,有什么作用?

  虛函數實現原理:包括虛函數表、虛函數指針等

  衍生問題:

    為什么 C++里訪問虛函數比訪問普通函數慢?

    為什么需要虛析構函數?

    內聯函數、構造函數、靜態成員函數可以是虛函數嗎?

    構造函數中可以調用虛函數嗎?
  · 2) C++虛繼承詳解

    為什么需要虛繼承? 虛繼承實現原理解析

  · 3) C++對象內存模型詳解

    融合虛函數、虛繼承,講解 C++對象模型

第4章 智力題
  --- 本節詳細講解國內面試中高頻的智力題, 並總結常見的解決這類問題的思路與技巧
  · 10+個常見智力面試題

第5章 概率題與操作系統題
· 操作系統相關的面試問題

第6章 面向對象設計
  · 1、請設計一個抽象類,用來支持有序數組歸並任務
  · 2、請設計一個LRU Cache
  · 3、設計一個在線聊天系統
  · 4、設計一個基於內存的簡單文件系統
  · 5、設計一個支持多終端的日志打印系統(如向文件打印、向網絡打印、向屏幕打印)
  · 6、設計一個棋盤游戲
  · 7、請設計一個數據結構,它能夠支持插入、刪除、最大值、最小值、隨機返回一個數的操作
  · 8、設計一個函數,使得它在n毫秒內最多訪問M次

第7章 海量數據處理問題
  · 1、Map-Reduce原理
  · 2、BloomFilter原理
  · 3、Trie樹原理
  · 4、兩個大文件,每個文件里都存有上億個url,怎么找到重復的url
  · 5、給百度一天的querylog,如何找到一天中出現頻率最多的k個query


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM