原创 深入理解計算機系統 實現一個小型web服務器

  1. Web基礎 web客戶端和服務器之間的交互使用的是一個基於文本的應用級協議HTTP(超文本傳輸協議)。一個web客戶端(即瀏覽器)打開一個到服務器的因特網連接,並且請求某些內容。服務器響應所請求的內容,然後關閉連接。瀏覽器讀取這

原创 劍指offer 把數字轉換成字符串(動態規劃)

題目:給定一個數字,我們按照如下規則把它翻譯爲字符串:0翻譯成“a”,1翻譯成“b”,·······,25翻譯成“z”。一個數字可能有多個翻譯。例如,12258有5種不同的翻譯,分別是“bccfi”、"bwfi"、"bczi"、"mcfi

原创 劍指offer 44 數字序列中某一位的數字(類似題43)

題目描述         數字以01234567891011121314…的格式序列化到一個字符序列中。在這個序列中,第5位是5(從0開始),第13位是1,第19位是4,等等。請寫一個函數,求任意第n位對應的數字。 分析: 最直觀的方法就

原创 30. 插入區間

描述 Given a non-overlapping interval list which is sorted by start point. Insert a new interval into it, make sure the l

原创 getenv、setenv函數(獲取和設置系統環境變量) 與 環境變量

1、getenv()   函數名: getenv 功 能: 從環境中取字符串,獲取環境變量的值 頭文件: stdlib.h 用 法:char *getenv(char *envvar); 函數說明:getenv()用來取得參數envvar

原创 IO多路轉接—select 、poll、epoll

多路(多個文件描述符)I/O(輸入輸出)轉接(將多個文件描述符交給select監控) 調用select函數,直到描述符表中有一個描述符準備好進入I/O時,該函數才返回,通過select的返回值告知進程哪些描述符已經準備好進入I/O。 三種

原创 劍指offer 47 禮物的最大價值

題目描述  在一個 m*n 的棋盤的每一個格都放有一個禮物,每個禮物都有一定價值(大於 0)。從左上角開始拿禮物,每次向右或向下移動一格,直到右下角結束。給定一個棋盤,求拿到禮物的最大價值。例如,對於如下棋盤 1 10 3 8  12 2

原创 分段和分頁

操作系統面試題:https://blog.csdn.net/hackbuteer1/article/details/6787354 一. 分頁存儲管理 1.基本思想     用戶程序的地址空間被劃分成若干固定大小的區域,稱爲“頁”,相應地

原创 17 子集(遞歸)

描述 給定一個含不同整數的集合,返回其所有的子集 子集中的元素排列必須是非降序的,解集必須不包含重複的子集 您在真實的面試中是否遇到過這個題?  是 樣例 如果 S = [1,2,3],有如下的解: [ [3], [1],

原创 Linux 線程同步的三種方法

線程的最大特點是資源的共享性,但資源共享中的同步問題是多線程編程的難點。linux下提供了多種方式來處理線程同步,最常用的是互斥鎖、條件變量和信號量。 一、互斥鎖(mutex) 通過鎖機制實現線程間的同步。 初始化鎖。在Linux下,線程

原创 劍指offer 48 最長無重複字符的子字符串

給定一個字符串,請找出其中無重複字符的最長子字符串。 樣例 例如,在"abcabcbb"中,其無重複字符的最長子字符串是"abc",其長度爲 3。 對於,"bbbbb",其無重複字符的最長子字符串爲"b",長度爲1。 挑戰 O(n) 時間

原创 setsockopt用法詳解

1.closesocket(一般不會立即關閉而經歷TIME_WAIT的過程)後想繼續重用該socket: BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const

原创 面試題:C++有了malloc/free,爲什麼還需要new、delete?

1、面試寶典面試題(P81):C++有了malloc/free,爲什麼還需要new、delete? malloc與free是C、C++語言的標準庫函數,new/delete是C++的運算符。他們都用於申請動態內存和釋放內存。 對於非內部數

原创 有關筆試題,輸入輸出格式的幾個特殊例子

題目描述 老師想知道從某某同學當中,分數最高的是多少,現在請你編程模擬老師的詢問。當然,老師有時候需要更新某位同學的成績. 輸入描述: 輸入包括多組測試數據。 每組輸入第一行是兩個正整數N和M(0 < N <= 30000,0 < M

原创 156. 合併區間

描述 給出若干閉合區間,合併所有重疊的部分。 您在真實的面試中是否遇到過這個題?  是 樣例 Given intervals => merged intervals: [ [ (1, 3),