原创 Topk問題及代碼實現

Topk 問題描述 從海量數據中尋找最大(或最小)的 k 個元素,這類問題被稱爲 Topk 問題。這個問題無論在實際應用還是面試都會被問到。那我們今天就來看看到底有幾種解決方案,以及各個方案的優劣情況。以下解題思路的前提條件是:從數組ar

原创 騰訊2020暑期實習後臺開發面試經驗及技術棧

前言 前一段時間參加了騰訊提前批的面試,也算是試了試水。遇到了一些問題,現在整理出來,也算是做個總結,以後不要再犯同樣的錯誤。參加這次提前批面試,主要是通過電話和視頻面試進行的。我將從崗位需求,簡歷書寫及面試內容等方面先介紹。然後羅列出面

原创 數據結構——緒論以及線性表的順序表示

緒論 數據類型 數據類型是一個值的集合和定義在此集合上一組操作的總稱。 (1)原子類型:其值不可再分的數據類型,如int,char,float。 (2)結構類型:其值可以再分解爲若干成分的數據類型。 struct Student {

原创 C++ std::thread 和 std::jthread 使用詳解 (含C++20新特性)

目錄 std::thread std::thread 構造函數  觀察器 操作 std::jthread std::jthread 構造函數 觀察器 操作 停止記號處理 管理當前線程的函數 yield() get_id() sleep_f

原创 C++ priority_queue 的使用和源碼詳解

目錄 簡介 priority_queue 的使用 泛型算法make_heap()、push_heap()、pop_heap() make_heap() push_heap() pop_heap() 簡介 priority_queue 是一

原创 Socket編程:必須要瞭解的網絡字節序和轉換函數

目錄 主機字節序和網絡字節序 轉換函數 htonl 、htons 、ntohl 和 ntohs inet_addr 、inet_aton 和 inet_ntoa inet_pton 和 inet_ntop 主機字節序和網絡字節序 現代 C

原创 C++ string 使用詳解(含C++20新特性)

目錄 元素訪問 迭代器 容量 操作 查找 std::erase, std::erase_if (std::basic_string) 元素訪問   at 返回到位於指定位置 pos 的字符的引用 constexpr reference

原创 快試一試 lambda 表達式吧,讓你的代碼更簡潔、更漂亮!

目錄 lambda 表達式 定義 lambda 表達式 捕獲子句 按值捕獲 按引用捕獲 捕獲特定的變量 捕獲this指針 使用lambda的優勢 lambda 表達式 lambda 表達式提供了一種便捷、簡潔的語法來快速定義回調函數或函數

原创 C++易被忽略的知識點:移動語義 & 左值右值

目錄 lvalue 和 rvalue rvalue 引用 移動語義 移動語義的概念 強制移動 lvalue 和 rvalue 每個表達式都會得到 lvalue 或 rvalue。它們的區別是,lvalue是一個持久存在的值,其內存地址可被

原创 阿里巴巴(Alibaba)筆試編程題

前言 最近在牛客網上找了點阿里巴巴筆試的編程題做,現在做個簡單的總結。有的代碼還在調,會慢慢發出來。有的問題可以直接暴力破解的就不放出來了,一般那種問題幾層循環就解決了。不過筆試編程對時間和空間都有要求,有的題可能會過不了。如果題目本身比

原创 使用wireshark抓包並進行網絡協議分析

前言 今天想通過抓包實驗,鞏固一下所學習的網絡協議。同時,在知識點上會加上以前遇到的一些問題。這次實驗並不是對所有的網絡協議都進行分析,而是從下面這個問題出發(面試常被問)。從這一過程中複習學過的網絡協議。使用的工具是wireshark。

原创 C++學習筆記:(四)運算符重載 & 類型轉換

目錄 6.運算符重載 6.1運算符重載的基本概念 6.2成員函數重載運算符 6.3友元函數重載運算符 6.4成員函數重載運算符和友元函數重載運算符比較 6.5類型轉換 6.運算符重載 面向對象程序設計的重載有函數重載和運算符重載。函數重載

原创 快速排序的4種優化

快排思想 快排基準的選擇           固定基準           隨機基準           三數取中 快速排序的優化 優化1:序列長度達到一定大小時,使用插入排序 優化2:尾遞歸優化 優化3:聚集元素 優化4:多線程處理快排

原创 操作系統中的同步和異步

操作系統中同步、異步性概念 首先我們從操作系統的發展中學習什麼是異步性。在操作系統發展的初期階段,CPU處理的是作業,而且是單道批處理。什麼意思呢?就是一個作業從提交到結束,程序員都不能干預,此時整臺計算機就爲這一個作業服務(可想有多少資

原创 Linux gdb多進程、多線程調試

目錄 常用命令 堆棧相關命令 更爲詳細的斷點調試 gdb多進程調試 gdb多線程調試 前言 gdb 是 linux 平臺下進行程序調試的最常用的工具。簡單的程序調試就是加斷點,然後一步一步讓程序運行,直到找到 bug 。一般的程序調試起來