--- 面試須知與應答技巧
--- 資料結構 / 變數儲存與記憶體
--- 程式語言 / 演算法
--- 作業系統 / 多執行緒(多程序)的觀念與實作控制
--- 轉自ptt: [重要] 發文前務必閱讀:C/C++常見問題十三誡
--- 擬真試題1/擬真試題2/擬真試題3/擬真試題4
--- 直接列出考古題1(精華完整53題含解答)
--- 直接列出考古題2(精華完整35題含解答)
--- 深度討論考古題1(DEMO完整10題含解答) 選擇使用C,C++,C#或JAVA
--- 深度討論考古題2(DEMO完整11題含解答) 選擇使用C,C++,C#或JAVA
--- 撲克牌(大老二)洗牌與牌型判斷(JAVA)
--- Python基本教學
--- Leetcode實戰討論
擬真試題1 :
以下列出常見的基本考題, 提供部分的答題資料, 更完整的資訊請參考說明。
1.變數解釋
- volatile variable
- static variable
- char const *p;
- char* const p;
//以上可參考 直接列出考古題1(精華完整53題含解答) - void (*fp)();
Ans:void型態的指標,用來儲存記憶體的位址;常用來處理未確定資料型態的CALL BACK函式,之後再彈性地轉換成其他型態的指標取得該型態的值。
2.名詞解釋
interrupt:
Ans: 在電腦科學中,中斷(英語:Interrupt)是指處理器接收到來自硬體或軟體的信號,提示發生了某個事件,應該被注意,這種情況就稱為中斷。
進階說明比較:
筆記轉型成部分不對外開放。
閱讀請繳交3,280元,您就會收到授權一年的邀請函Email,以及紙本重點筆記郵寄給您!
匯款帳號請來信詢問, 站長信箱:eeepage@gmail.com
匯款後,請告知您的帳號後三碼與您Gmail作為帳號,易春木會寄出權限開啟之邀請函,三個工作日內可開啟權限。
(*若需信用卡支付, 請來信詢問)
MBR(master boot record):
Ans:主開機紀錄(Master Boot Record,縮寫:MBR),又叫做主啟動磁區,是電腦開機後存取硬碟時所必須要讀取的首個磁區,主啟動磁區記錄著硬碟本身的相關資訊以及硬碟各個分割的大小及位置資訊
3.用C實作
- 交換兩個數字
- 刪除linklist中間的node
- 把string轉成double
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253使用這類函數時,要先 #include <stdlib.h> 或 #include <cstdlib>1. atof:將字串轉為倍精度浮點數double atof ( const char * str );ex:char buffer[] = "2.675";double f = atof(buffer);2. atoi:將字串轉為整數int atoi ( const char * str );ex:char buffer[] = "23";int i = atoi(buffer);3. atol:將字串轉為長整數long int atol ( const char * str );ex:char buffer[] = "23";long int i = atol(buffer);4. strtod: 將字串轉為倍精度浮點數double strtod ( const char * str, char ** endptr );ex:char buffer[] = "1011.113";double a = strtod(buffer, NULL);5. strtol:將字串視為任意進制,轉為長整數long int strtol ( const char * str, char ** endptr, int base );ex:char buffer[] = "1011";long a = strtol(buffer, NULL,2);// 將 "1011" 視為2進制,轉完之後 a 即為 116. strtoul:將字串視為任意進制,轉為無號長整數unsigned long int strtoul ( const char * str, char ** endptr, int base );ex:char *buffer = "1011";unsigned long a = strtoul(buffer, NULL,2);// 將 "1011" 視為2進制,轉完之後 a 即為 117. itoa: 整數轉為任意進制字串 (非標準函式)char* itoa(int value, char* string, int radix);ex:char buffer[200];int value = 234;itoa(value, buffer, 2); // 將 234 轉為存成2進制之字串8. ltoa:長整數轉為任意進制字串 (非標準函式)char* ltoa(long int value, char* string, int radix);ex:char buffer[200];lnt value = 234;ltoa(value, buffer, 2); // 將 234 轉為存成2進制之字串
4.計結 MUL BIC(Bit Clear)
5.sort 1000個數字最快的方法 用C把code寫下來
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
經典排序算法- 桶排序Bucket sort 補充說明三點 1,桶排序是穩定的 2,桶排序是常見排序裡最快的一種,比快排還要快…大多數情況下 3,桶排序非常快,但是同時也非常耗空間,基本上是最耗空間的一種排序算法 例如待排數字[6 2 4 1 5 9] 準備10個空桶, 最大數個空桶 [6 2 4 1 5 9] 待排數組 [0 0 0 0 0 0 0 0 0 0] 空桶 [0 1 2 3 4 5 6 7 8 9] 桶編號(實際不存在) 1,順序從待排數組中取出數字,首先6被取出,然後把6入6號桶,這個過程類似這樣: 空桶[待排數組[ 0 ] ] =待排數組[ 0 ] [ 6 2 4 1 5 9]待排數組 [0 0 0 0 0 0 6 0 0 0]空桶 [0 1 2 3 4 5 6 7 8 9]桶編號(實際不存在) 2,順序從待排數組中取出下一個數字,此時2被取出,將其放入2號桶,是幾就放幾號桶 [ 6 2 4 1 5 9]待排數組 [0 0 2 0 0 0 6 0 0 0]空桶 [0 1 2 3 4 5 6 7 8 9]桶編號(實際不存在) 3,4,5,6省略,過程一樣,全部入桶後變成下邊這樣 [ 6 2 4 1 5 9 ]待排數組 [0 1 2 0 4 5 6 0 0 9 ]空桶 [0 1 2 3 4 5 6 7 8 9 ]桶編號(實際不存在) 0表示空桶,跳過,順序取出即可:1 2 4 5 6 9 |
6.解釋semaphore和mutex 及其C++的實作
7.C++ constructor + 繼承
8.寫出你覺得最常用的sort方法
9.寫出你覺得最常用的search方法
10.怎麼找出最長回文(Palindromic)的子字串
擬真試題2
1). 關於volatile
一個參數是否可以同時宣告成const 和 volatile ? 解釋為什麼
Yes, 可以的! 像是”只讀的狀態暫存器”。
它是volatile因為它可能被意想不到地改變。它是const因為程式不應該試圖去修改它。
一個指標可以是volatile 嗎? 解釋為什麼。
Yes, 可以的! 像是”當一個執行中的次程序修該一個指向一個buffer的指標時”。
2). 詳述有關interrupt定義或行為
3). 題目說明: 程序在記憶體配置情形(下面有個圖應該是要畫圖)
//更詳細比較stuct與union可參考 直接列出考古題1(精華完整53題含解答)
筆記轉型成部分不對外開放。
閱讀請繳交3,280元,您就會收到授權一年的邀請函Email,以及紙本重點筆記郵寄給您!
匯款帳號請來信詢問, 站長信箱:eeepage@gmail.com
匯款後,請告知您的帳號後三碼與您Gmail作為帳號,易春木會寄出權限開啟之邀請函,三個工作日內可開啟權限。
(*若需信用卡支付, 請來信詢問)
3). DMA 相關經驗有嗎?
4). 舉例表示 Big-Endian與Little-Endian 的差異
5). 寫個程式,判斷linked list 是否發生了circular
6). 寫一個程式 輸入整數回傳這是幾bits-set e.g. 0x000003 = 2-bits Set 0xFFFF000 = 16-bits Set
擬真試題3
1.what is calling convention?
2.什麼情況下會造成calling convention? how to resolve?
3.what is inline?
4.what is deadlock ? please demonstrate it.
5.what is macro?
所謂巨集, 就是用 #define 的語法定義一個簡短巨集名稱來取代一長串的算式。根據前處理指令 #define 會由前置處理器處理,也就是說在前置處理過程中, 巨集名稱都會被代換成指定的算式。
6.請你把一段程式用macro的方式修改
1 2 3 4 5 6 |
int square(int x) { return x * x; } //改寫成 #define SQUARE(x) ((x) * (x)) |
7.what is virtual function
8.what is polymorphism ?
9.what’s the difference between virtual function and polymorphism?
擬真試題4 : 系統 & 網路
1. Process 與 Thread 有何不同?
2. const 與 violate 有什麼用途? 系統是如何實做達成該用途?
3. 有兩個變數 X與Y, 如何不以乘法與加法而有效率的得到 X*Y 的數值?
4. Linux 環境之下, Kernel 與 User Application 如何溝通?
筆記轉型成部分不對外開放。
閱讀請繳交3,280元,您就會收到授權一年的邀請函Email,以及紙本重點筆記郵寄給您!
匯款帳號請來信詢問, 站長信箱:eeepage@gmail.com
匯款後,請告知您的帳號後三碼與您Gmail作為帳號,易春木會寄出權限開啟之邀請函,三個工作日內可開啟權限。
(*若需信用卡支付, 請來信詢問)
5. 如何寫出程式以UDP方式傳送資料由HOST A 到 HOST B ?
6. 如何寫出程式以TCP方式傳送資料由HOST A 到 HOST B ?
7. 請詳述 ioctl, proc 與 sysfs 的差異? 傳送資料的結構為何
筆記轉型成部分不對外開放。
閱讀請繳交3,280元,您就會收到授權一年的邀請函Email,以及紙本重點筆記郵寄給您!
匯款帳號請來信詢問, 站長信箱:eeepage@gmail.com
匯款後,請告知您的帳號後三碼與您Gmail作為帳號,易春木會寄出權限開啟之邀請函,三個工作日內可開啟權限。
(*若需信用卡支付, 請來信詢問)
繼續閱讀…
本文章 目錄:
--- 面試須知與應答技巧
--- 資料結構 / 變數儲存與記憶體
--- 程式語言 / 演算法
--- 作業系統 / 多執行緒(多程序)的觀念與實作控制
--- 轉自ptt: [重要] 發文前務必閱讀:C/C++常見問題十三誡
--- 擬真試題1/擬真試題2/擬真試題3/擬真試題4
--- 直接列出考古題1(精華完整53題含解答)
--- 直接列出考古題2(精華完整35題含解答)
--- 深度討論考古題1(DEMO完整10題含解答) 選擇使用C,C++,C#或JAVA
--- 深度討論考古題2(DEMO完整11題含解答) 選擇使用C,C++,C#或JAVA
--- 撲克牌(大老二)洗牌與牌型判斷(JAVA)
--- Python基本教學
--- Leetcode實戰討論