1. IQ題 為什麼程序員是高冷的
高冷是因為
一,程序員本身就覺得自己從事於高級技術的工作,是高級工種,因此會有點小小的冷傲。
二,長期從事於代碼工作,太專注的原因,會導致在情感方面,人的大腦會變得些許遲鈍,誰干過誰都知道。因此往往不是因為他們冷,而是他們不知道如何表達自己。
三,作為一名資深程序屌絲,只能給你解釋到這了。
2. 程序員最常去的酒吧腦筋急轉彎
答案:Foo Bar。
術語foobar, foo, bar, baz和qux經常在計算機編程或計算機相關的文檔中被用作佔位符的名字。當變數,函數,或命令本身不太重要的時候,foobar, foo, bar, baz和qux就被用來充當這些實體的名字,這樣做的目的僅僅是闡述一個概念,說明一個想法。
這些術語本身相對於使用的場景來說沒有任何意義。Foobar經常被單獨使用;而當需要多個實體舉例的時候,foo,bar,和baz則經常被按順序使用。
關於程序員的腦筋急轉彎
1、程序員什麼情況下會選擇離職?
答案:在他無法獲取到數組的時候(tips:arrays的發音)。
2、你怎樣才能知道一個計算機科學家是內向還是外向的?
答案:外向的計算機科學家在跟你說話的時候會看著你的鞋子。
3. 程序員面試筆試寶典的目錄
前言
上篇 面試筆試經驗技巧篇
第1章 面試官箴言 2
1.1 有道無術,術可求;有術無道,止於術 2
1.2 求精不求全 3
1.3 腳踏實地,培養多種技能 4
1.4 保持空杯心態 6
1.5 職場是能者的舞台 7
1.6 學會「紙上談兵」 8
1.7 小結 8
第2章 面試心得交流 9
2.1 心態決定一切 9
2.2 假話全不說,真話不全說 10
2.3 走自己的路,讓別人去說吧 12
2.4 夯實基礎謀出路 14
2.5 書中自有編程法 15
2.6 筆試成績好,不會被鄙視 17
2.7 不要一廂情願做公司的備胎 18
2.8 小結 19
第3章 企業面試筆試攻略 20
3.1 互聯網企業 20
3.2 網路設備提供商 25
3.3 外企 29
3.4 國企 32
3.5 研究所 35
3.6 創業型企業 37
3.7 如何抉擇 41
第4章 面試筆試技巧 42
4.1 不打無准備之仗 42
4.1.1 如何獲取求職信息 42
4.1.2 如何製作一份受用人單位青睞的簡歷 43
4.1.3 如何高效地網申簡歷 47
4.1.4 面試考查什麼內容 48
4.1.5 霸王面合適嗎 50
4.1.6 非技術類筆試如何應答 50
4.1.7 什麼是職場暗語 51
4.1.8 如何克服面試中的緊張情緒 54
4.1.9 面試禮儀有哪些 55
4.1.10 面試需要准備什麼內容 56
4.1.11 女生適合做程序員嗎 57
4.1.12 程序員是吃青春飯的嗎 58
4.1.13 為什麼會被企業拒絕 58
4.1.14 如何准備集體面試 59
4.1.15 如何准備電話面試 61
4.2 從容應對 62
4.2.1 如何進行自我介紹 63
4.2.2 你對我們公司有什麼了解 64
4.2.3 如何應對自己不會回答的問題 65
4.2.4 如何應對面試官的「激將法」語言 65
4.2.5 如何處理與面試官持不同觀點的問題 66
4.2.6 如果你在這次面試中沒有被錄用,你會怎麼辦 66
4.2.7 如果你被我們錄取了,接下來你將如何開展工作 66
4.2.8 你怎麼理解你應聘的職位 67
4.2.9 你有哪些缺點 67
4.2.10 你有哪些優點 68
4.2.11 你沒有工作經驗,如何能夠勝任這個崗位 69
4.2.12 你的好朋友是如何評價你的 69
4.2.13 你與上司意見不一致時,該怎麼辦 70
4.2.14 你能說說你的家庭嗎 71
4.2.15 你認為自己最適合做什麼 72
4.2.16 你如何看待公司的加班現象 72
4.2.17 你的業余愛好是什麼 73
4.2.18 你和別人發生過爭執嗎?你怎樣解決 74
4.2.19 你如何面對壓力 74
4.2.20 你為什麼離開了原來的單位 75
4.2.21 你為什麼更傾向於我們公司 75
4.2.22 你覺得我們為什麼要錄用你 76
4.2.23 你的職業規劃是什麼 76
4.2.24 你對薪資有什麼要求 77
4.2.25 你有什麼需要問我的問題嗎 77
4.3 簽約這點事 78
4.3.1 風蕭蕭兮易水寒,offer多了怎麼辦 78
4.3.2 簽約、違約需要注意哪些事項 78
4.4 小結 81
第5章 英文面試攻略 82
5.1 注意事項 82
5.2 英文自我介紹 83
5.3 常見的英文面試問題 85
5.4 常見計算機專業詞彙 94
5.4.1 計算機專業相關課程 94
5.4.2 操作系統相關術語 95
5.4.3 演算法相關術語 96
5.4.4 數據結構相關術語 97
5.4.5 計算機網路相關術語 100
第6章 智力題攻略 102
6.1 推理類 102
6.2 博弈類 107
6.3 計算類 109
6.4 作圖類 111
6.5 倒水類 112
6.6 稱重類 113
6.7 最優化類 114
6.8 IT思想類 115
6.9 過橋類 118
6.10 概率類 119
下篇 面試筆試技術攻克篇
第7章 程序設計基礎 122
7.1 C/C++關鍵字 122
7.1.1 static(靜態)變數有什麼作用 122
7.1.2 const有哪些作用 124
7.1.3 switch語句中的case結尾是否必須添加break語句?為什麼 127
7.1.4 volatile在程序設計中有什麼作用 128
7.1.5 斷言ASSERT( )是什麼 129
7.1.6 枚舉變數的值如何計算 130
7.1.7 char str1[] = abc; char str2[] = abc; str1與str2不相等,為什麼 130
7.1.8 為什麼有時候main( )函數會帶參數?參數argc與argv的含義是什麼 131
7.1.9 C++裡面是不是所有的動作都是main( )函數引起的 132
7.1.10 *p++與(*p)++等價嗎?為什麼 132
7.1.11 前置運算與後置運算有什麼區別 132
7.1.12 a是變數,執行(a++) += a語句是否合法 133
7.1.13 如何進行float、bool、int、指針變數與「零值」的比較 134
7.1.14 new/delete與malloc/free的區別是什麼 135
7.1.15 什麼時候需要將引用作為返回值 137
7.1.16 變數名為618Software是否合法 137
7.1.17 C語言中,整型變數x小於0,是否可知x×2也小於0 138
7.1.18 exit(status)是否跟從main( )函數返回的status等價 138
7.1.19 已知String類定義,如何實現其函數體 138
7.1.20 在C++中如何實現模板函數的外部調用 140
7.1.21 在C++中,關鍵字explicit有什麼作用 140
7.1.22 C++中異常的處理方法以及使用了哪些關鍵字 141
7.1.23 如何定義和實現一個類的成員函數為回調函數 141
7.2 內存分配 142
7.2.1 內存分配的形式有哪些 142
7.2.2 什麼是內存泄露 143
7.2.3 棧空間的最大值是多少 144
7.2.4 什麼是緩沖區溢出 144
7.3 sizeof 146
7.3.1 sizeof是關鍵字嗎 146
7.3.2 strlen( )=?sizeof( )=? 146
7.3.3 對於結構體而言,為什麼sizeof返回的值一般大於期望值 148
7.3.4 指針進行強制類型轉換後與地址進行加法運算,結果是什麼 149
7.4 指針 150
7.4.1 使用指針有哪些好處 150
7.4.2 引用還是指針 150
7.4.3 指針和數組是否表示同一概念 152
7.4.4 指針是否可進行>、<、>=、<=、==運算 152
7.4.5 指針與數字相加的結果是什麼 152
7.4.6 野指針?空指針 153
7.5 預處理 154
7.5.1 C/C++頭文件中的ifndef/define/endif的作用有哪些 154
7.5.2 #include <filename.h>和#include 「filename.h」 有什麼區別 155
7.5.3 #define有哪些缺陷 155
7.5.4 如何使用define 聲明一個常數,用以表明1年中有多少秒(忽略閏年問題) 155
7.5.5 含參數的宏與函數有什麼區別 156
7.5.6 宏定義平方運算#define SQR(X) X*X是否正確 156
7.5.7 不能使用大於、小於、if語句,如何定義一個宏來比較兩個數a、b的大小 157
7.5.8 如何判斷一個變數是有符號數還是無符號數 158
7.5.9 #define TRACE(S) (printf(%s
, #S), S)是什麼意思 159
7.5.10 不使用sizeof,如何求int佔用的位元組數 160
7.5.11 如何使用宏求結構體的內存偏移地址 161
7.5.12 如何用sizeof判斷數組中有多少個元素 162
7.5.13 枚舉和define有什麼不同 162
7.5.14 typdef和define有什麼區別 162
7.5.15 C++中宏定義與內聯函數有什麼區別 164
7.5.16 定義常量誰更好?#define還是const 164
7.6 結構體與類 165
7.6.1 C語言中struct與union的區別是什麼 165
7.6.2 C和C++中struct的區別是什麼 165
7.6.3 C++中struct與class的區別是什麼 166
7.7 位操作 166
7.7.1 一些結構聲明中的冒號和數字是什麼意思 166
7.7.2 最有效的計算2乘以8的方法是什麼 167
7.7.3 如何實現位操作求兩個數的平均值 167
7.7.4 unsigned int i=3;printf(%u
,i*-1)輸出為多少 168
7.7.5 如何求解整型數的二進製表示中1的個數 169
7.7.6 不能用sizeof( )函數,如何判斷操作系統是16位還是32位的 170
7.7.7 嵌入式編程中,什麼是大端?什麼是小端 171
7.7.8 考慮n位二進制數,有多少個數中不存在兩個相鄰的1 174
7.7.9 不用除法操作符如何實現兩個正整數的除法 175
7.8 函數 179
7.8.1 怎麼樣寫一個接受可變參數的函數 179
7.8.2 函數指針與指針函數有什麼區別 179
7.8.3 C++函數傳遞參數的方式有哪些 183
7.8.4 重載與覆蓋有什麼區別 185
7.8.5 是否可以通過絕對內存地址進行參數賦值與函數調用 188
7.8.6 默認構造函數是否可以調用單參數構造函數 190
7.8.7 C++中函數調用有哪幾種方式 191
7.8.8 什麼是可重入函數?C語言中如何寫可重入函數 192
7.9 數組 192
7.9.1 int a[2][2]={{1},{2,3}},則a[0][1]的值是多少 192
7.9.2 如何合法表示二維數組 193
7.9.3 a是數組,(int*)(&a+1)表示什麼意思 193
7.9.4 不使用流程式控制制語句,如何列印出1~1000的整數 194
7.9.5 char str[1024]; scanf(%s,str)是否安全 197
7.9.6 行存儲與列存儲中哪種存儲效率高 197
7.10 變數 197
7.10.1 全局變數和靜態變數有什麼異同 197
7.10.2 局部變數需要「避諱」全局變數嗎 199
7.10.3 如何建立和理解非常復雜的聲明 199
7.10.4 變數定義與變數聲明有什麼區別 200
7.10.5 不使用第三方變數,如何交換兩個變數的值 201
7.10.6 C與C++變數初始化有什麼不同 202
7.11 字元串 202
7.11.1 不使用C/C++字元串庫函數,如何自行編寫strcpy( )函數 203
7.11.2 如何把數字轉換成字元串 205
7.11.3 如何自定義內存復制函數memcpy( ) 206
7.12 編譯 207
7.12.1 編譯和鏈接的區別是什麼 207
7.12.2 編譯型語言與解釋型語言的區別是什麼 208
7.12.3 如何判斷一段程序是由C編譯程序還是由C++編譯程序編譯的 208
7.12.4 在C++程序中調用被C編譯器編譯後的函數,為什麼要加extern 「C」 209
7.12.5 兩段代碼共存於一個文件,編譯時有選擇地編譯其中的一部分,如何實現 210
7.13 面向對象相關 210
7.13.1 面向對象與面向過程有什麼區別 210
7.13.2 面向對象的基本特徵有哪些 211
7.13.3 什麼是深復制?什麼是淺復制 212
7.13.4 什麼是友元 213
7.13.5 復制構造函數與賦值運算符的區別是什麼 214
7.13.6 基類的構造函數/析構函數是否能被派生類繼承 216
7.13.7 初始化列表和構造函數初始化的區別是什麼 216
7.13.8 類的成員變數的初始化順序是按照聲明順序嗎 217
7.13.9 當一個類為另一個類的成員變數時,如何對其進行初始化 217
7.13.10 C++能設計實現一個不能被繼承的類嗎 218
7.13.11 構造函數沒有返回值,那麼如何得知對象是否構造成功 219
7.13.12 C++中的空類默認產生哪些成員函數 219
7.13.13 如何設置類的構造函數的可見性 219
7.13.14 public繼承、protected繼承、private繼承的區別是什麼 220
7.13.15 C++提供默認參數的函數嗎 221
7.13.16 C++中有哪些情況只能用初始化列表而不能用賦值 222
7.14 虛函數 223
7.14.1 什麼是虛函數 223
7.14.2 C++如何實現多態 225
7.14.3 C++中繼承、虛函數、純虛函數分別指的是什麼 226
7.14.4 C++中的多態種類有哪幾種 226
7.14.5 什麼函數不能聲明為虛函數 227
7.14.6 是否可以把每個函數都聲明為虛函數 229
7.14.7 C++中如何阻止一個類被實例化 229
7.15 編程技巧 229
7.15.1 當while( )的循環條件是賦值語句時會出現什麼情況 229
7.15.2 不使用if/:?/switch及其他判斷語句如何找出兩個int型變數中的最大值和最小值 230
7.15.3 C語言獲取文件大小的函數是什麼 231
7.15.4 表達式a>b>c是什麼意思 231
7.15.5 如何列印自身代碼 232
7.15.6 如何實現一個最簡單病毒 232
7.15.7 如何只使用一條語句實現x是否為2的若干次冪的判斷 233
7.15.8 如何定義一對相互引用的結構 233
7.15.9 什麼是逗號表達式 234
7.15.10
是否與
等價 235
7.15.11 什麼是短路求值 235
7.15.12 已知隨機數函數rand7( ),如何構造rand10( )函數 236
7.15.13 printf(%p
,(void *)x)與printf (%p
,&x)有何區別 237
7.15.14 printf( )函數是否有返回值 237
7.15.15 不能使用任何變數,如何實現計算字元串長度函數Strlen( ) 237
7.15.16 負數除法與正數除法的運算原理是否一樣 238
7.15.17 main( )主函數執行完畢後,是否可能會再執行一段代碼 238
第8章 資料庫 240
8.1 資料庫概念 240
8.1.1 關系資料庫系統與文件資料庫系統有什麼區別 240
8.1.2 SQL語言的功能有哪些 240
8.1.3 內連接與外連接有什麼區別 242
8.1.4 什麼是事務 243
8.1.5 什麼是存儲過程?它與函數有什麼區別與聯系 244
8.1.6 什麼是主鍵?什麼是外鍵 244
8.1.7 什麼是死鎖 245
8.1.8 什麼是共享鎖?什麼是互斥鎖 245
8.1.9 一二三四範式有何區別 246
8.1.10 如何取出表中指定區間的記錄 247
8.1.11 什麼是CHECK約束 247
8.1.12 什麼是視圖 247
8.2 SQL高級應用 248
8.2.1 什麼是觸發器 248
8.2.2 什麼是索引 249
8.2.3 什麼是回滾 250
8.2.4 數據備份有哪些種類 251
8.2.5 什麼是游標 251
8.2.6 並發環境下如何保證數據的一致性 252
8.2.7 如果資料庫日誌滿了,會出現什麼情況 252
8.2.8 如何判斷誰往資料庫中插入了一行數據 252
第9章 網路與通信 254
9.1 網路模型 254
9.1.1 OSI七層模型是什麼 254
9.1.2 TCP/IP模型是什麼 255
9.1.3 B/S與C/S有什麼區別 255
9.1.4 MVC模型結構是什麼 256
9.2 網路設備 258
9.2.1 交換機與路由器有什麼區別 258
9.2.2 路由表的功能有哪些 259
9.3 網路協議 260
9.3.1 TCP和UDP的區別有哪些 260
9.3.2 什麼叫三次握手?什麼叫四次斷開 260
9.3.3 什麼是ARP/RARP 262
9.3.4 IP Phone的原理是什麼?都用了哪些協議 263
9.3.5 Ping命令是什麼 263
9.3.6 基本的HTTP流程有哪些 264
9.4 網路編程 264
9.4.1 如何使用Socket編程 264
9.4.2 阻塞模式和非阻塞模式有什麼區別 265
9.5 網路其他問題 266
9.5.1 常用的網路安全防護措施有哪些 266
9.5.2 什麼是SQL注入式攻擊 267
9.5.3 電路交換技術、報文交換技術和分組交換技術有什麼區別 268
9.5.4 相比IPv4,IPv6有什麼優點 269
第10章 操作系統 270
10.1 進程管理 270
10.1.1 進程與線程有什麼區別 270
10.1.2 線程同步有哪些機制 271
10.1.3 內核線程和用戶線程的區別 271
10.2 內存管理 272
10.2.1 內存管理有哪幾種方式 272
10.2.2 分段和分頁的區別是什麼 272
10.2.3 什麼是虛擬內存 272
10.2.4 什麼是內存碎片?什麼是內碎片?什麼是外碎片 273
10.2.5 虛擬地址、邏輯地址、線性地址、物理地址有什麼區別 273
10.2.6 Cache替換演算法有哪些 274
10.3 用戶編程介面 275
10.3.1 庫函數與系統調用有什麼不同 275
10.3.2 靜態鏈接與動態鏈接有什麼區別 276
10.3.3 靜態鏈接庫與動態鏈接庫有什麼區別 276
10.3.4 用戶態和核心態有什麼區別 276
10.3.5 用戶棧與內核棧有什麼區別 277
第11章 軟體工程 278
11.1 軟體工程過程與方法 278
11.1.1 軟體工程過程有哪些 278
11.1.2 常見的軟體開發過程模型有哪些 279
11.1.3 什麼是敏捷開發 283
11.1.4 UML中一般有哪些圖 285
11.2 軟體工程思想 285
11.2.1 什麼是軟體配置管理 285
11.2.2 什麼是CMMI 286
11.2.3 如何提高軟體質量 287
第12章 發散思維 289
12.1 設計模式 289
12.1.1 什麼是單例模式 289
12.1.2 什麼是工廠模式 290
12.1.3 什麼是適配器模式 290
12.1.4 什麼是享元模式 291
12.1.5 什麼是觀察者模式 291
12.2 新技術 291
12.2.1 什麼是雲計算 291
12.2.2 什麼是物聯網 292
12.2.3 你平時讀的專業書籍有哪些 293
第13章 數據結構與演算法 295
13.1 數組 295
13.1.1 如何用遞歸實現數組求和 295
13.1.2 如何用一個for循環列印出一個二維數組 296
13.1.3 在順序表中插入和刪除一個結點平均移動多少個結點 297
13.1.4 如何用遞歸演算法判斷一個數組是否是遞增 297
13.1.5 如何分別使用遞歸與非遞歸實現二分查找演算法 298
13.1.6 如何在排序數組中,找出給定數字出現的次數 299
13.1.7 如何計算兩個有序整型數組的交集 300
13.1.8 如何找出數組中重復次數最多的數 301
13.1.9 如何在O(n)的時間復雜度內找出數組中出現次數超過了一半的數 303
13.1.10 如何找出數組中唯一的重復元素 305
13.1.11 如何判斷一個數組中的數值是否連續相鄰 308
13.1.12 如何找出數組中出現奇數次的元素 309
13.1.13 如何找出數列中符合條件的數對的個數 311
13.1.14 如何尋找出數列中缺失的數 313
13.1.15 如何判定數組是否存在重復元素 314
13.1.16 如何重新排列數組使得數組左邊為奇數,右邊為偶數 315
13.1.17 如何把一個整型數組中重復的數字去掉 316
13.1.18 如何找出一個數組中第二大的數 318
13.1.19 如何尋找數組中的最小值和最大值 319
13.1.20 如何將數組的後面m個數移動為前面m個數 320
13.1.21 如何計算出序列的前n項數據 321
13.1.22 如何找出數組中只出現一次的數字 322
13.1.23 如何判斷一個整數x是否可以表示成n(n≥2)個連續正整數的和 324
13.2 鏈表 325
13.2.1 數組和鏈表的區別是什麼 325
13.2.2 何時選擇順序表、何時選擇鏈表作為線性表的存儲結構為宜 325
13.2.3 如何使用鏈表頭 326
13.2.4 如何實現單鏈表的插入、刪除操作 327
13.2.5 如何找出單鏈表中的倒數第k個元素 328
13.2.6 如何實現單鏈表反轉 329
13.2.7 如何從尾到頭輸出單鏈表 331
13.2.8 如何尋找單鏈表的中間結點 331
13.2.9 如何進行單鏈表排序 332
13.2.10 如何實現單鏈表交換任意兩個元素(不包括表頭) 334
13.2.11 如何檢測一個較大的單鏈表是否有環 335
13.2.12 如何判斷兩個單鏈表(無環)是否交叉 337
13.2.13 如何刪除單鏈表中的重復結點 338
13.2.14 如何合並兩個有序鏈表(非交叉) 339
13.2.15 什麼是循環鏈表 340
13.2.16 如何實現雙向鏈表的插入、刪除操作 342
13.2.17 為什麼在單循環鏈表中設置尾指針比設置頭指針更好 343
13.2.18 如何刪除結點的前驅結點 343
13.2.19 如何實現雙向循環鏈表的刪除與插入操作 343
13.2.20 如何在不知道頭指針的情況下將結點刪除 344
13.3 字元串 345
13.3.1 如何統計一行字元中有多少個單詞 345
13.3.2 如何將字元串逆序 346
13.3.3 如何找出一個字元串中第一個只出現一次的字元 350
13.3.4 如何輸出字元串的所有組合 351
13.3.5 如何檢查字元是否是整數?如果是,返回其整數值 353
13.3.6 如何查找字元串中每個字元出現的個數 353
13.4 STL容器 354
13.4.1 什麼是泛型編程 354
13.4.2 棧與隊列的區別有哪些 354
13.4.3 vector與list的區別有哪些 355
13.4.4 如何實現循環隊列 355
13.4.5 如何使用兩個棧模擬隊列操作 357
13.5 排序 359
13.5.1 如何進行選擇排序 359
13.5.2 如何進行插入排序 360
13.5.3 如何進行冒泡排序 361
13.5.4 如何進行歸並排序 364
13.5.5 如何進行快速排序 366
13.5.6 如何進行希爾排序 368
13.5.7 如何進行堆排序 369
13.5.8 各種排序演算法有什麼優劣 371
13.6 二叉樹 372
13.6.1 基礎知識 372
13.6.2 如何遞歸實現二叉樹的遍歷 373
13.6.3 已知先序遍歷和中序遍歷,如何求後序遍歷 374
13.6.4 如何非遞歸實現二叉樹的後序遍歷 376
13.6.5 如何使用非遞歸演算法求二叉樹的深度 378
13.6.6 如何判斷兩棵二叉樹是否相等 381
13.6.7 如何判斷二叉樹是否是平衡二叉樹 381
13.6.8 什麼是霍夫曼編解碼 382
13.7 圖 383
13.7.1 什麼是拓撲排序 384
13.7.2 什麼是DFS?什麼是BFS 385
13.7.3 如何求關鍵路徑 386
13.7.4 如何求最短路徑 388
第14章 海量數據處理 390
14.1 問題分析 390
14.2 基本方法 390
14.3 經典實例分析 403
14.3.1 top K問題 403
14.3.2 重復問題 405
14.3.3 排序問題 407
致謝 409
4. SK集團沈陽分公司招聘的要求會韓語的程序員筆試都考的什麼啊 聽說考的都是專業詞語啊。這個有難度啊。
這種考試應該不會很難,不過我這有一個建議有可能有用。可能的話,您最好先找一下他們公司的在職或已離職的職員,讓他們推薦一下,因為據我了解,這樣的話成功率很高。祝您成功!
5. 很難的智力題
1
有十隻錢袋,每隻錢袋裡分別裝著十個銅板,其中有一個袋子裝的是每枚九克的銅板,另外的九隻錢袋裝的全是每枚十克的銅板。問:只許你稱一次,你能稱出哪只錢袋裡裝的是每枚九克的銅板。
參考答案
第一個袋子里拿出1個銅板,第二個袋子拿2個,第三個拿出3個。。。以此類推,一共拿出55個銅板,把55個一起稱,看稱出的實際重量比550克少多少克,就等於是一共有多少個9克的銅板,而9克銅板的數量等於裝9克銅板的袋子號(例如少一克就是第一個袋子,少2克就是第二個袋子。。)
2(猜牌問題)
S先生、P先生、Q先生他們知道桌子的抽屜里有16張撲克牌:紅桃A、Q、4 黑桃J、8、4、2、7、3 草花K、Q、5、4、6 方塊A、5。約翰教授從這16張牌中挑出一張牌來,並把這張牌的點數告訴 P先生,把這張牌的花色告訴Q先生。這時,約翰教授問P先生和Q 先生:你們能從已知的點數或花色中推知這張牌是什麼牌嗎? 於是,S先生聽到如下的對話: P先生:我不知道這張牌。Q先生:我知道你不知道這張牌。 P先生:現在我知道這張牌了。 Q先生:我也知道了。 聽罷以上的對話,S先生想了一想之後,就正確地推出這張牌是什麼牌。 請問:這張牌是什麼牌?
解題思路:
由第一句話「P先生:我不知道這張牌。」可知,此牌必有兩種或兩種以上花色,即可能是A、Q、4、5。如果此牌只有一種花色,P先生知道這張牌的點數,P先生肯定知道這張牌。由第二句話「Q先生:我知道你不知道這張牌。」可知,此花色牌的點數只能包括A、Q、4、5,符合此條件的只有紅桃和方塊。Q先生知道此牌花色,只有紅桃和方塊花色包括A、Q、4、5,Q先生才能作此斷言。 由第三句話「P先生:現在我知道這張牌了。」可知,P先生通過「Q先生:我知道你不知道這張牌。」判斷出花色為紅桃和方塊,P先生又知道這張牌的點數,P先生便知道這張牌。據此,排除A,此牌可能是Q、4、5。如果此牌點數為A,P先生還是無法判斷。 由第四句話「Q先生:我也知道了。」可知,花色只能是方塊。如果是紅桃,Q先生排除A後,還是無法判斷是Q還是4。綜上所述,這張牌是方塊5。
參考答案:
這張牌是方塊5。
智力題3(燃繩問題) 燃繩問題
燒一根不均勻的繩,從頭燒到尾總共需要1個小時。現在有若干條材質相同的繩子,問如何用燒繩的方法來計時一個小時十五分鍾呢?
解題思路:
燒一根這樣的繩,從頭燒到尾1個小時。由此可知,頭尾同時燒共需半小時。同時燒兩根這樣的繩,一個燒一頭,一個燒兩頭;當燒兩頭的繩燃盡時,共要半小時,燒一頭的繩繼續燒還需半小時;如果此時將燒一頭的繩的另一頭也點燃,那麼只需十五分鍾。
參考答案:
同時燃兩根這樣的繩,一個燒一頭,一個燒兩頭;等一根燃盡,將另一根掐滅備用。標記為繩2。再找一根這樣的繩,標記為繩1。一頭燃繩1需要1個小時,再兩頭燃繩2需十五分鍾,用此法可計時一個小時十五分鍾。
4 乒乓球問題
假設排列著100個乒乓球,由兩個人輪流拿球裝入口袋,能拿到第100個乒乓球的人為勝利者。條件是:每次拿球者至少要拿1個,但最多不能超過5個,問:如果你是最先拿球的人,你該拿幾個?以後怎麼拿就能保證你能得到第100個乒乓球?
解題思路:
1、我們不妨逆向推理,如果只剩6個乒乓球,讓對方先拿球,你一定能拿到第6個乒乓球。理由是:如果他拿1個,你拿5個;如果他拿2個,你拿4個;如果他拿3個,你拿3個;如果他拿4個,你拿2個;如果他拿5個,你拿1個。2、我們再把100個乒乓球從後向前按組分開,6個乒乓球一組。100不能被6整除,這樣就分成17組;第1組4個,後16組每組6個。3、這樣先把第1組4個拿完,後16組每組都讓對方先拿球,自己拿完剩下的。這樣你就能拿到第16組的最後一個,即第100個乒乓球。
參考答案:
先拿4個,他拿n個,你拿6-n,依此類推,保證你能得到第100個乒乓球。
試題擴展:
1、假設排列著100個乒乓球,由兩個人輪流拿球裝入口袋,能拿到第100個乒乓球的人為勝利者。條件是:每次拿球者至少要拿2個,但最多不能超過7個,問:如果你是最先拿球的人,你該拿幾個?以後怎麼拿就能保證你能得到第100個乒乓球?(先拿1個,他拿n個,你拿9-n,依此類推)2、假設排列著X個乒乓球,由兩個人輪流拿球裝入口袋,能拿到第X個乒乓球的人為勝利者。條件是:每次拿球者至少要拿Y個,但最多不能超過Z個,問:如果你是最先拿球的人,你該拿幾個?以後怎麼拿就能保證你能得到第X個乒乓球?(先拿X/(Y+Z)的余數個,他拿n個,你拿(Y+Z)-n,依此類推。當然必須保證X/(Y+Z)的余數不等於0)
5(喝汽水問題)
喝汽水問題
1元錢一瓶汽水,喝完後兩個空瓶換一瓶汽水,問:你有20元錢,最多可以喝到幾瓶汽水?
解題思路1:
一開始20瓶沒有問題,隨後的10瓶和5瓶也都沒有問題,接著把5瓶分成4瓶和1瓶,前4個空瓶再換2瓶,喝完後2瓶再換1瓶,此時喝完後手頭上剩餘的空瓶數為2個,把這2個瓶換1瓶繼續喝,喝完後把這1個空瓶換1瓶汽水,喝完換來的那瓶再把瓶子還給人家即可,所以最多可以喝的汽水數為:20+10+5+2+1+1+1=40
解題思路2:
先看1元錢最多能喝幾瓶汽水。喝1瓶餘1個空瓶,借商家1個空瓶,2個瓶換1瓶繼續喝,喝完後把這1個空瓶還給商家。即1元錢最多能喝2瓶汽水。20元錢當然最多能喝40瓶汽水。
解題思路3:
兩個空瓶換一瓶汽水,可知純汽水只值5角錢。20元錢當然最多能喝40瓶的純汽水。N元錢當然最多能喝2N瓶汽水。
參考答案:
40瓶
試題拓展:
1、1元錢一瓶汽水,喝完後兩個空瓶換一瓶汽水,問:你有N元錢,最多可以喝到幾瓶汽水?(答案2N) 2、9角錢一瓶汽水,喝完後三個空瓶換一瓶汽水,問:你有18元錢,最多可以喝到幾瓶汽水?(答案30) 3、1元錢一瓶汽水,喝完後四個空瓶換一瓶汽水,問:你有15元錢,最多可以喝到幾瓶汽水?(答案20)
智力題6(分割金條) 分割金條
你讓工人為你工作7天,給工人的回報是一根金條。金條平分成相連的7段,你必須在每天結束時給他們一段金條,如果只許你兩次把金條弄斷,你如何給你的工人付費?
解題思路:
本題實質問題是數字表示問題。由1、2兩個數字可表示1-3三個數字。由1、2、4三個數字可表示1-7七個數字(即1,2,1+2,4,4+1,4+2,4+2+1)。由1、2、4、8四個數字可表示1-15十五個數字。依此類推。
參考答案:
把金條分成1/7、2/7和4/7三份。這樣,第1天我就可以給他1/7;第2天我給他2/7,讓他找回我1/7;第3天我就再給他1/7,加上原先的2/7就是3/7;第4天我給他那塊4/7,讓他找回那兩塊1/7和2/7的金條;第5天,再給他1/7;第6天和第2天一樣;第7天給他找回的那個1/7。
試題拓展:
1、你讓工人為你工作15天,給工人的回報是一根金條。金條平分成相連的15段,你必須在每天結束時給他們一段金條,如果只許你三次把金條弄斷,你如何給你的工人付費?(1/15,2/15,4/15,8/15)2、你讓工人為你工作31天,給工人的回報是一根金條。金條平分成相連的31段,你必須在每天結束時給他們一段金條,如果只許你四次把金條弄斷,你如何給你的工人付費?(1/31,2/31,4/31,8/31,16/31)3、你讓工人為你工作(2^n)-1天,給工人的回報是一根金條。金條平分成相連的(2^n)-1段,你必須在每天結束時給他們一段金條,如果只許你n-1次把金條弄斷,你如何給你的工人付費?(1/((2^n)-1),2/((2^n)-1),4/((2^n)-1),...)4.人民幣為什麼只有1、2、5、10的面值?(便於找零錢。理想狀態下應是1、2、4、8,在現實生活中常用10進制,故將4、8變為5、10。只要2有兩個,1、2、2、5、10五個數字可表示1-20。)
6小明一家過一座橋,過橋時候是黑夜,所以必須有燈。現在小明過橋要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的媽媽要8秒,小明的爺爺要12秒。每次此橋最多可過兩人,而過橋的速度依過橋最慢者而定,而且燈在點燃後30秒就會熄滅。問小明一家如何過橋?
。但是換個思路,我們根據具體情況來決定誰持燈來去,只要稍稍做些變動即可:第一步,小明與弟弟過橋,小明回來,耗時4秒;第二步,小明與爸爸過河,弟弟回來,耗時9秒;第三步,媽媽與爺爺過河,小明回來,耗時13秒;最後,小明與弟弟過河,耗時4秒,總共耗時30秒。
7 每個飛機只有一個油箱, 飛機之間可以相互加油(注意是相互,沒有加油機) 一箱油可供一架飛機繞地球飛半圈, 問題:為使至少一架飛機繞地球一圈回到起飛時的飛機場,至少需要出動幾架飛機?(所有飛機從同一機場起飛,而且必須安全返回機場,不允許中途降落,中間沒有飛機場,)
假設地球一圈要耗油量為20,飛一半同時也是飛機攜帶量為10
讓abc三飛機向東(假設了東西兩相反方向),飛到八分之一之一時每個飛機都消耗了2.5的油量。abc此時都有7.5 讓後c返回 並各注入2.5到其餘2飛機上使得ab還是10在飛八分之一 此時離開初始點為四分之一路程。需要5的油量返回,而ab都還有7.5 貢獻掉b飛機的2.5,讓b回城。此時a孤軍作戰還有10的滿油量 可以使勁飛個2分之一地球 。。。然後同理def三家飛機再來接那剩餘的四分之一路程 一路走來按照bc的貢獻方法使f接到快掛的a時候有10的油量,此時a和f一起用10的油量跑完剩餘的5的路程
abcdef。。。。。六架嘛
6. 急需程序員筆試題,附帶答案
一、選擇題(每題1分,共20分)
1. 下列那種語言是面向對象的(C)
A. C B. PASCAL C. C++ D. FORTRAN77
2.在 Windows9x 下,可以進入 MS-D0S 方式。當在 DOS 提示符下鍵入 (B ) 命令後,
系統將退出 MS-DOS方式,返回到 WIndows 方式。
A. CLOSE B. EXIT C. QUIT D. RETURN
3.下面哪些是面向對象的基本特性:(A,B,C )
A 多態 B 繼承 C 封裝 D 介面
4.在C++中經常要進行異常處理,下面哪些是異常處理常用到的關鍵詞:(A,B,C)
A try B catch C throw D break E contiue
5.資料庫技術中的「臟數據',是指(D)的數據。
A.錯誤 B.回返 C.未提交 D.未提交的隨後又被撤消
6.TCP/IP是一種(A,B)
A.標准 B.協議 C.語言 D.演算法
7. 下面有關計算機操作系統的敘述中,不正確的是( )
A 操作系統屬於系統軟體
B 操作系統只負責管理內存儲器,而不管理外存儲器
C UNIX 是一種操作系統
D 計算機的處理器、內存等硬體資源也由操作系統管理
8.微機上操作系統的作用是( D)
A 解釋執行源程序 B 編譯源程序
C 進行編碼轉換 D 控制和管理系統資源
9.下列存儲器中存取速度最快的是(A )
A 內存 B 硬碟 C 光碟 D 軟盤
10.在計算機中,—個位元組是由多少個二進制位組成的( )
A. 4 B. 8 C. 16 D. 24
11. 存儲16×16點陣的一個漢字信息,需要的位元組數為( )
A 32 B 64 C 128 D 256
12. 以下選項中合法的字元常量是(C)
A."B" B. '\010' C. 68 D. D
13. 假定x和y為double型,則表達式x=2,y=x+3/2的值是()
A. 3.500000 B. 3 C. 2.000000 D. 3.000000
14. 以下合法的賦值語句是()
A. x=y=100 B. d--; C. x+y; D. c=int(a+b);
15. 設正x、y均為整型變數,且x=10 y=3,則以下語句
pprintf("%d,%d\n",x--,--y); 的輸出結果是()
A.10,3 B. 9,3 C. 9,2 D.10,2
16. x、y、z被定義為int型變數,若從鍵盤給x、y、z輸入數據,正確的輸入語句是()
A .INPUT x、y、z; B. scanf("%d%d%d",&x,&y,&z);
C. scanf("%d%d%d",x,y,z); D. read("%d%d%d",&x,&y,&z);
17.以下數組定義中不正確的是()
A) int a[2][3]; B) int b[][3]={0,1,2,3};
C) int c[100][100]={0}; D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
18. 以下程序的輸出結果是()
main()
{
int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0];
}
A) 0650 B) 1470 C) 5430 D) 輸出值不定
19 以下程序的輸出結果是()
main()
{
char st[20]= "hello\0\t\\\";
printf(%d %d \n",strlen(st),sizeof(st));
}
A) 9 9 B) 5 20 C) 13 20 D) 20 20
20. 當調用Windows API函數InvalidateRect,將會產生什麼消息()
A:WM_PAINT B:WM_CREATE
C:WM_NCHITTEST D:WM_SETFOCUS
二、填空題(每題3分,共30分)
1.請列舉當前一些當前流行的資料庫引擎__________
2. 為了將當前盤當前目錄中的所有文本文件(擴展名為.TXT)的內容列印輸出,正確
的單條DOS命令為______。
3. 計算機網路分為區域網和廣域網,網際網路屬於 廣域網。
4. 設y是int型變數,請寫出判斷y為奇效的關系表達_______。
5. 設有以下程序:
main()
{ int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序運行後,如果從鍵盤上輸入1298;則輸出結果為____。
6.以下程序運行後的輸出結果是______。
main()
{ char s[ ]="9876",*p;
for ( p=s ; pbr>}
7.以下函數的功能是:求x的y次方,請填空。
double fun( double x, int y)
{ int i;
double z;
for(i=1, z=x; ibr>return z;
}
8.以下程序段打開文件後,先利用fseek函數將文件位置指針定位在文件末尾,然後調
用ftell函數返回當前文件位置指針的具體位置,從而確定文件長度,請填空。
FILE *myf; ling f1;
myf= ______("test.t","rb");
fseek(myf,0,SEEK_END); f1=ftel(myf);
fclose(myf);
printf("%d\n",f1);
9. 以下程序輸出的最後一個值是______。
int ff(int n)
{ static int f=l;
f=f*n;
return f;
}
main()
{ int i;
for(I=1;I<=5;I++ printf("%d\n",ff(i));
)
10. 以下程序運行後的輸出結果是_____。
main()
{ int i=10, j=0;
do
{ j=j+i; i-;
while(i>2);
printf("%d\n",j);
}
三、判斷題(每題2分,共20分)
1:動態鏈結庫不能靜態調用。
2:UDP是面向無連接的網路連接
3:ASP是一種資料庫引擎
4:隊列是先進後出。
5:Weblogic是分布式應用伺服器。
6:TCP,UDP都是傳輸層的協議。
7: 兩個線程不能共存於同一地址空間
8: JAVA是一種跨平台的開發工具
9.在WINDOWS操作系統中對外設是以文件的方式進行管理
10. 虛擬內存實際是創建在硬碟上的
四、問答題(每題10分,共30分)
1. 寫出從資料庫表Custom中查詢No、Name、Num1、Num2並將Name以姓名顯示、計算出
的和以總和顯示的SQL。
Select No、Name、Num1、Num2 from custom;
2. 何為「事務處理」,談談你對它的理解。
3. 常用的數據結構有哪些?請枚舉一些。(不少於5個)
4. 什麼是OOP?什麼是類?請對比類和對象實例之間的關系。
5. 有一組數字(3,10,6,8,98,22),請編程排序(升降序皆可),語言不限,演算法不限,但須註明是何種演算法。
[email protected]
7. 程序員面試 腦筋急轉彎 求答案
一般這句話用在「你不相信別人的時候」,你就會說:「程序員面試,你就 編 吧!
(這個應該不應解釋了吧,程序員的工作主要是編程)
絕對准確,謝謝@!