原创 面試:字符串相關(一)
這裏是面試常見的字符串相關題目。 該文章主要將strcpy、memcpy、memmove三個。 1. strcpy strcpy的返回值是目的字符串的地址,可以實現鏈式語法。 #include
原创 Protobuf 編碼及序列化的記錄
工作中用到了protobuf,然後之前在面試的時候面試官就問了一個問題,如果將int32類型的字段的值設置爲0,那還會將該值進行序列化嗎?當時是懵了的,因爲自己還沒有研究這部分。當時給的結果是不會,猜測protobuf中int3
原创 限制長度雙向鏈表的插入操作
面試遇到的問題,一開始面試官是問我有什麼方案可以實現排行榜,當時給出了兩個方案。後面面試官又在我的其中一種方案上讓我手寫代碼實現排序雙線鏈表的插入,根據score值插入,並且鏈表長度限制在100。 需要考慮的點:1)插入在
原创 T t與T t = T()的區別
主要的區別就是默認構造函數對內置類型的初始化上。如果沒有T中沒有定義構造函數,則對於“T t”,並不會對 t 中內置類型設置初始值,是一個隨機值。但對於“T t = T()”,對 t 中內置類型會設置初始值,如 int 類型會設置
原创 Effective STL:雜記(一)
1. 避免使用vector<bool> vector<bool>實際上並不能算是一個STL容器,實際上也並不存儲bool。因爲一個對象要成爲STL容器,就必須滿足C++標準的第23.1節列出的所有條件,其中一個條件是,如果 c 是
原创 《編碼》之定點數與浮點數
《編碼》真是一本不錯的書,從燈泡通信、繼電器、二進制層層深入,再到加法器、彙編、處理器。全部連了起來,精妙啊,可惜現在纔看到這本書,不過也爲時不玩。 23章中講到了定點數與浮點數,所以這裏做下記錄吧。 1.定點數
原创 字節對齊相關
C/C++都是按照最大對齊補齊方式的,即按照佔空間最大成員來處理對齊,對齊是由於計算機系統的限制導致的。因爲許多計算機系統對基本數據類型的合法地址做出了一些限制,要求某種類型對象的地址必須是某個值K(通常是2、4或8)的倍數。這
原创 《現代操作系統》第三章:存儲管理
操作系統中管理分層存儲器體系的部分稱爲存儲器管理(memory manager) 3.1 無存儲器抽象 直接使用物理地址; 並行問題; 重定位問題(因爲使用的是絕對物理地址); 裝載器需要一定的方法來辨別地址和常數(地址值需要重定
原创 MySQL:MySQL server has gone away解決
我出現這個報錯,是在C++項目中用Mysql的庫函數mysql_real_query往數據庫中插入數據的時候出現的,插入的數據有7M、8M。通過網上搜索這個錯誤,瞭解到是因爲我們寫入的數據太大了,在使用msyql導入大文件sql的
原创 python:filecmp模塊的cmp函數
項目中有個需求,就是對比多個玩家客戶端上報的log內容,找到第一次出現不同的行數,並返回出現不同的玩家信息,代碼使用python實現的。很久之前就已經實現了,就是先用filecmp模塊的cmp函數逐個對比兩個文件,如果出現不同了
原创 ssh下用sz和rz從服務器上傳和下載文件
最近才瞭解到有一個這麼方便的東西。首先需要安裝lrzsz包(Centos下): sudo yum install lrzsz 然後就可以上傳文件到服務器: rz 直接使用該命令,就會彈出窗口讓你選擇需要上傳的
原创 C++:const_cast
const_cast是一個運算符,和dynamic_cast、static_cast、reinterpret_cast一樣都是用於類型的轉換的,本來想將這四個一起寫的,但是查了const_cast相關的資料,發現const_cas
原创 面試:雜記(一)
這裏主要記錄一些面試中被問過的問題。 1. realloc、malloc、calloc的區別 工作用的主要是C++,所以只是對malloc瞭解一些。 1) void *malloc ( size_t size )
原创 基礎:Linux硬件配置信息查看
之前面試的時候問到用戶量,然後扯到了服務器的配置相關,但服務器是都是由組長申請的,所以當時並不瞭解。回來後,瞭解了Linux下硬件信息配置的查看,記錄如下。 1. CPU信息 CPU信息有三種方式查看。
原创 leetcode:33 搜索旋轉排序數組
假設按照升序排序的數組在預先未知的某個點上進行了旋轉。( 例如,數組 [0,1,2,4,5,6,7] 可能變爲 [4,5,6,7,0,1,2] )。 搜索一個給定的目標值,如果數組中存在這個目標值,則返回它的索