原创 Linux(面試題):進程和線程的區別

進程和線程的區別 博主最近面試的時候被好多公司的面試官都問到了這個問題~今天整理一下|ू・ω・` ) 答這個問題我覺得從下面幾個點答就好啦~ 進程和線程的概念 進程: 進程是操作系統資源分配的基本實體 線程: 線程是CPU調度和分

原创 C++(面試題):判斷一個鏈表是否帶環,求環的長度,找到環入口節點

博主面試的過程中遇到了這麼一個面試題,判斷一個鏈表是否帶環,並且如果有環的話,要找到環的入口節點,並且求出環的長度~ 那麼我們大家一起來分析一哈(っ•̀ω•́)っ✎⁾⁾ 假設鏈表的節點的結構是這樣的 struct ListNode

原创 Linux:get和post的區別

HTTP定義了與服務器不同的交互方法,最常用的就是get和post。 那麼我們談一談它倆的區別吧~ URL可見性 get:參數URL可見 post:參數URL不可見 數據傳輸 get:通過拼接URL進行傳遞參數 post:通過正文

原创 數據結構:位圖

位圖 位圖,就是用每一位來存放某種狀態,適用於大規模數據,但數據狀態又不是很多的情況。通常是用來判斷某個數據存不存在的。 位圖其實是用數組實現的,數組的每一個元素的每一個二進制位都可以表示一個數據在或者不在,0表示數據存在,1表示

原创 MySQL:MySQL下的常用類型,主鍵和唯一鍵

一、MySQL下的類型 整型 TINYINT , SMALLINT , INT , BIGINT 小數 浮點數(不是高精度) FLOAT/DOUBLE 保證精度 DECIMAL/NUMEROUS 幾個坑 bit 顯式的

原创 測試:如何測試微信朋友圈的點贊功能

今天我們來寫一個微信朋友圈點贊功能的測試用例(っ•̀ω•́)っ✎⁾⁾ 功能測試 是否可以點贊 取消點贊 多次點贊會出現什麼情況 多人點贊時的順序是否按照時間順序進行排列 點贊是否顯示頭像和名稱 點贊之後能否進行評論 點贊之後退出

原创 C++:函數重載、重定義與重寫

函數重載 在同一個作用域中,兩個函數的函數名相同,參數個數,參數類型,參數順序至少有一個不同,函數返回值的類型可以相同,也可以不相同。 C++中支持函數重載是因爲C++中會對函數進行名字修飾。Name Mangling是一種在編譯過程

原创 C++:菱形繼承及菱形虛擬繼承

複雜的菱形繼承及菱形虛擬繼承 基於博主的上篇文章大家肯定都知道了繼承的相關概念。那麼我們再來了解一下複雜的菱形繼承及菱形虛擬繼承。 單繼承:一個子類只有一個直接父類時稱這個繼承關係爲單繼承 多繼承:一個子類有兩個或以上直接父類時稱這

原创 C++:繼承的相關概念

繼承 一、繼承的概念和定義 繼承(inheritance)機制是面向對象程序設計使代碼可以複用的最重要的手段,它允許程序員在保持原有類特性的基礎上進行擴展,增加功能,這樣產生新的類,稱派生類。繼承呈現了面向對象程序設計的層次結構,體現

原创 C++:二叉搜索樹的特點以及簡易實現

二叉搜索樹 二叉搜索樹也叫二叉排序樹,它可以是一棵空樹。它具有一下特點: 若它的左子樹不爲空,則左子樹上所有節點的值都小於根節點的值 若它的右子樹不爲空,則右子樹上所有節點的值都大於根節點的值 它的左右子樹也分別爲二叉搜索樹 沒有鍵

原创 C++:C++的IO流

C++的IO流 C語言中的輸入輸出常用的是scanf()和printf()。 scanf(): 從標準輸入設備(鍵盤)讀取數據,並將值存放在變量中。 printf(): 將指定的文字/字符串輸出到標準輸出設備(屏幕)。注意寬度輸出和精

原创 網絡對戰五子棋(來一起PK鴨)

網絡對戰五子棋(來一起PK鴨) 一、本地調用和RPC調用的區別 首先了解一下RPC~ RPC主要是解決了兩個問題: 解決了分佈式系統中,服務之間的調用問題 尤其是在遠程調用的時候,可以讓調用者感受不到遠程調用的過程,調用者就感覺是自

原创 Linux:簡單的vim配置文件(適合萌新使用~)

簡單的vim配置文件~ color evening//這個看自己喜好~,如果喜歡黑色的背景就加上這個,如果喜歡白色的就不要啦 set nu

原创 C++:C++中的類型轉換(static_cast、reinterpret_cast、const_cast、dynamic_cast)

C語言中的類型轉換 隱式類型的轉換(相近類型) 顯示強制類型的轉換(不相關類型) void Test() { int i = 1; // 隱式類型轉換 double d = i; printf("%d, %.2f\n", i,

原创 C++:RAII思想和智能指針(auto_ptr,unique_ptr,shared_ptr)

有的時候使用malloc或者new創建的對象忘記釋放就會導致內存泄漏,又或者此時釋放語句之前有一段代碼是拋異常的話,那麼執行流就會亂跳,導致內存也無法釋放。 比如這一段代碼,at越界訪問會導致拋異常,導致執行流跳出從而沒有釋放指針p。