原创 2020春招 騰訊-某金融中心部門一面

時間:3.24 15:00 持續時間:67min   自我介紹,平時用什麼語言 C++ 1. 使用的是什麼C++版本 答:C++11 2. C++98和C++11兩個版本的枚舉類型,分別描述一下 不會 3. 結構體和聯合體的區別 4. 結

原创 muduo源碼筆記-base-ThreadPool

1. ThreadPool ThreadPool類是線程池的封裝。muduo中採用了blocking queue實現的任務隊列,並且啓動數量固定的線程池。每個線程在while(running)的循環中不斷的從隊列中取任務,做任務。

原创 muduo源碼筆記-base-Atomic

Atomic.h Atomic是對整數 int 原子性操作的一個封裝。使用了gcc原子性操作,效率比普通加鎖要高。這裏主要是使用了三個函數: (1) 原子自增操作 將*ptr加上value,並返回*ptr原來的值 type __s

原创 muduo源碼筆記-base-Mutex

1. MutexLock類 MutexLock類是對互斥量的封裝,使用棧上對象MutexLockGuard來管理mutex的加鎖與釋放。棧上對象在退出對應的代碼段之後會自動釋放,隨之,鎖也會被自動釋放。使用方法如下: class

原创 muduo源碼-base-Thread

1. Thread.h Thread類是對線程的封裝,指定了線程狀態,要運行的任務(函數),名字,id等信息。調用start()->創建線程->構建ThreadData對象->傳入任務->運行。 class Thread : no

原创 muduo源碼筆記-base-Timestamp

1. Timestamp.h 文件 Timestamp表示的是UTC時間,最小可表示微秒(us)。數據成員microSecondsSinceEpoch_使用int64_t(long long)表示對象,因此作者建議將此值按值傳遞,

原创 linux c++實現兩個線程輪流打印1~100

思路:使用條件變量,一個線程等待count變成奇數,一個線程等待count變成偶數。 #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <un

原创 c++ extern關鍵字

(1)定義聲明(定義)與引用聲明(聲明) 定義給變量分配空間,聲明不給變量分配空間 extern告訴編譯器某個變量的定義在其他文件 // 引用聲明使用關鍵字extern,且不進行初始化; // 否則,聲明爲定義,導致分配存儲空間

原创 二分查找C++

雖然二分查找思路很簡單,但實現起來需要注意很多細節。如區間是閉合區間還是前開後閉區間,循環的退出條件是left < right 還是 left <= right,下一步搜索是使用mid還是mid+1等。 普通二分查找 // 普通二

原创 排序算法總結C++

一、冒泡排序 算法思路: 從1到n-1,相鄰元素進行比較,每次都將較大的數向後移動,每經過一輪移動,至少有一個數是排好序的。 void bubbleSort(int* A, int n) { bool sorted = f

原创 樹的遍歷總結(遞歸實現與非遞歸實現 C++)

樹的定義 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NUL

原创 機器學習(西瓜書)筆記——第一章緒論

第一章    緒論 1.1 引言         對於什麼是機器學習,書中給出瞭解釋:機器學習致力於研究如何通過計算的手段,利用經驗來改善系統自身的性能,其主要研究的內容就是關於計算機從數據中產生“模型”的算法,即學習算法。 1.2 基本

原创 Python3爬蟲入門之爬取豆瓣Top250電影名稱

Python3爬蟲入門之爬取豆瓣Top250電影名稱 準備工具 Python3.5 requests BeautifulSoup lxml 最終效果 首先看一下網站的結構 可以很清楚的看到每個電影對應了一個<li>標籤,我們

原创 Android Material Design 學習(一)

Material Design 學習(一)———TextInputLayout和TextInputEditText compile 'com.android.support:design:23.4.0' 基本效果: TextInp

原创 Android Material Design 學習(二)

Material Design 學習(二)——Toolbar+DrawerLayout+NavigationView 實現側滑 基本效果 ##### 佈局 <android.support.v4.widget.DrawerLay