各大公司面試集錦

2021-06-17 01:22:17 字數 4606 閱讀 2992

微軟

有乙個整數陣列,請求出兩兩之差絕對值最小的值,記住,只要得出最小值即可,不需要求出是哪兩個數。

排序,兩兩相減

寫乙個函式,檢查字元是否是整數,如果是,返回其整數值。(或者:怎樣只用4行**編寫出乙個從字串到長整形的函式?)

基礎給出乙個函式來輸出乙個字串的所有排列。

若要排除重複,先排序,每次找到從後往前的降序,交換、反轉

請編寫實現malloc()記憶體分配函式功能一樣的**。

給出乙個函式來複製兩個字串a和b。

基礎字串a的後幾個位元組和字串b的前幾個位元組重疊。

基礎怎樣編寫乙個程式,把乙個有序整數陣列放到二叉樹中?

基礎怎樣從頂部開始逐層列印二叉樹結點資料?請程式設計。 基礎

怎樣把乙個鍊錶掉個順序(也就是反序,注意鍊錶的邊界條件並考慮空鍊錶)? 基礎

請編寫能直接實現int atoi(const char * pstr)函式功能的**。 基礎

程式設計實現兩個正整數的除法,程式設計實現兩個正整數的除法,當然不能用除法操作符。基礎

// return x/y.

int div(const int x, const int y)

在排序陣列中,找出給定數字的出現次數,比如 [1, 2, 2, 2, 3] 中2的出現次數是3次。

兩次二分查詢

平面上n個點,每兩個點都確定一條直線,求出斜率最大的那條直線所通過的兩個點(斜率不存在的情況不考慮)。時間效率越高越好。

按x座標排序,兩兩找斜率最大值

乙個整數數列,元素取值可能是0~65535中的任意乙個數,相同數值不會重複出現。0是例外,可以反覆出現。請設計乙個演算法,當你從該數列中隨意選取5個數值,判斷這5個數值是否連續相鄰。注意:

設計乙個演算法,找出二叉樹上任意兩個結點的最近共同父結點。複雜度如果是o(n2)則不得分。

lca演算法

一棵排序二叉樹,令 f=(最大值+最小值)/2,設計乙個演算法,找出距離f值最近、大於f值的結點。複雜度如果是o(n2)則不得分。

基礎乙個整數數列,元素取值可能是1~n(n是乙個較大的正整數)中的任意乙個數,相同數值不會重複出現。設計乙個演算法,找出數列中符合條件的數對的個數,滿足數對中兩數的和等於n+1。複雜度最好是o(n),如果是o(n2)則不得分。

o(n)不知道是如何辦到的,排序後o(nlogn)還是可以的

google

正整數序列q中的每個元素都至少能被正整數a和b中的乙個整除,現給定a和b,需要計算出q中的前幾項,例如,當a=3,b=5,n=6時,序列為3,5,6,9,10,12 (1)、設計乙個函式void generate(int a,int b,int n ,int * q)計算q的前幾項(2)、設計測試資料來驗證函式程式在各種輸入下的正確性。

經典題,網上已有較好的演算法

有乙個由大小寫組成的字串,現在需要對他進行修改,將其中的所有小寫字母排在答謝字母的前面(大寫或小寫字母之間不要求保持原來次序),如有可能盡量選擇時間和空間效率高的演算法 c語言函式原型void proc(char *str) 也可以採用你自己熟悉的語言。

基礎,如果大小寫保持原有順序,則利用兩個指標

如何隨機選取1000個關鍵字,給定乙個資料流,其中包含無窮盡的搜尋關鍵字(比如,人們在谷歌搜尋時不斷輸入的關鍵字)。如何才能從這個無窮盡的流中隨機的選取1000個關鍵字?

基礎概率題

判斷乙個自然數是否是某個數的平方。說明:當然不能使用開方運算。

二分來判斷

給定能隨機生成整數1到5的函式,寫出能隨機生成整數1到7的函式。

生成1-7不是難點,但很多時候沒法保證等概率

1024! 末尾有多少個0?

5的個數

經典邏輯推理,第乙個想到結果的是大神

23、google2009華南地區筆試題。給定乙個集合a=[0,1,3,8](該集合中的元素都是在0,9之間的數字,但未必全部包含),指定任意乙個正整數k,請用a中的元素組成乙個大於k的最小正整數。比如,a=[1,0] k=21 那麼輸出結構應該為100。

基礎用c語言實現乙個revert函式,它的功能是將輸入的字串在原串上倒序後返回。

基礎用c語言實現函式void * memmove(void *dest, const void *src, size_t n)。memmove 函式的功能是拷貝src所指的記憶體內容前n個位元組到dest所指的位址上。分析:由於可以把任何型別的指標賦給void型別的指標,這個函式主要是實現各種資料型別的拷貝。

基礎,判斷位址高地位決定從後往前或從前往後拷貝

有一根27厘公尺的細木桿,在第3厘公尺、7厘公尺、11厘公尺、17厘公尺、23厘公尺這五個位置上各有乙隻螞蟻。木桿很細,不能同時通過乙隻螞蟻。開始時,螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調頭,但不會後退。當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走。假設螞蟻們每秒鐘可以走一厘公尺的距離。編寫程式,求所有螞蟻都離開木桿的最小時間和最大時間。

假設螞蟻相遇後穿過對方,題中只求最小最大時間因此無影響。

請定義乙個巨集,比較兩個數a、b的大小,不能使用大於、小於、if語句

大數減小數大於0,反之。。。

兩個數相乘,小數點後位數沒有限制,請寫乙個高精度演算法

基礎有a、b、c、d四個人,要在夜裡過一座橋。他們通過這座橋分別需要耗時1、2、5、10分鐘,只有一支手電,並且同時最多只能兩個人一起過橋。請問,如何安排,能夠在17分鐘內這四個人都過橋?

基礎有12個小球,外形相同,其中乙個小球的質量與其他11個不同,給乙個天平,問如何用3次把這個小球找出來,並且求出這個小球是比其他的輕還是重

基礎在乙個檔案中有 10g 個整數,亂序排列,要求找出中位數。記憶體限制為 2g。只寫出思路即可。

基數排序的思想

乙個檔案中有40億個整數,每個整數為四個位元組,記憶體為1gb,寫出乙個演算法:求出這個檔案裡的整數裡不包含的乙個整數。

分塊處理

解決方案多種

雅虎程式設計實現:把十進位制數(long型)分別以二進位制和十六進製制形式輸出,不能使用printf系列

基礎程式設計實現:找出兩個字串中最大公共子字串,如"abccade","dgcadde"的最大子串為"cad"

字尾樹有雙向迴圈鍊錶結點定義為:

struct node

;

有兩個雙向迴圈鍊錶a,b,知道其頭指標為:pheada,pheadb,請寫一函式將兩煉表中data值相同的結點刪除。

貌似沒有特定的演算法,考程式設計基礎,但不知道鍊錶自身有相同節點會怎樣,那就比較蛋疼

網易兩個圓相交,交點是a1,a2。現在過a1點做一直線與兩個圓分別相交另外一點b1,b2。b1b2可以繞著a1點旋轉。問在什麼情況下,b1b2最長

雖然感覺上大多數人都能一眼看出來,但證明就比較煩

smith夫婦召開宴會,並邀請其他4對夫婦參加宴會。在宴會上,他們彼此握手,並且滿足沒有乙個人同自己握手,沒有兩個人握手一次以上,並且夫妻之間不握手。然後mr. smith問其它客人握手的次數,每個人的答案是不一樣的。求mrs smith握手的次數

基礎有6種不同顏色的球,分別記為1,2,3,4,5,6,每種球有無數個。現在取5個球,求在一下 的條件下:

它們的概率。

基礎有一次數學比賽,共有a,b和c三道題目。所有人都至少解答出一道題目,總共有25人。在沒有答出a的人中,答出b的人數是答出c的人數的兩倍;單單答出a的人,比其他答出a的人總數多1;在所有只有答出一道題目的人當中,答出b和c的人數剛好是一半。求只答出b的人數。

基礎從尾到頭輸出鍊錶,題目:輸入乙個鍊錶的頭結點,從尾到頭反過來輸出每個結點的值。鍊錶結點定義如下:

struct listnode

;

分析:這是一道很有意思的面試題。該題以及它的變體經常出現在各大公司的面試、筆試題中。

基礎其它

金幣概率問題,題目:10個房間裡放著隨機數量的金幣。每個房間只能進入一次,並只能在乙個房間中拿金幣。乙個人採取如下策略:前四個房間只看不拿。隨後的房間只要看到比前四個房間都多的金幣數,就拿。否則就拿最後乙個房間的金幣。程式設計計算這種策略拿到最多金幣的概率。

經典題,貌似沒專門學過概率的不知如何下手

找出陣列中唯一的重複元素,1-1000放在含有1001個元素的陣列中,只有唯一的乙個元素值重複,其它均只出現一次.每個陣列元素只能訪問一次,設計乙個演算法,將它找出來;不用輔助儲存空間,能否設計乙個演算法實現?

基礎一排n(最大1m)個正整數+1遞增,亂序排列,第乙個不是最小的,把它換成-1,最小數為a且未知求第乙個被-1替換掉的數原來的值,並分析演算法複雜度。

找最小,算出總數,剩下的求和,用總數減。。。注意求和時每個加數要減去a,這樣用乙個unsigned __int64可以算,否則溢位

題目:輸入四個點的座標,求證四個點是不是乙個矩形,關鍵點:

矩陣式螺旋輸出

基礎求兩個或n個數的最大公約數和最小公倍數。

基礎最長遞增子串行。題目描述:設l=是n個不同的實數的序列,l的遞增子串行是這樣乙個子串行lin=,其中k1已有成熟的演算法

字串原地壓縮,題目描述:"eeeeeaaaff" 壓縮為 "e5a3f2",請程式設計實現。

基礎字串匹配實現,請以倆種方法,回溯與不回溯演算法實現。

基礎乙個含n個元素的整數陣列至少存在乙個重複數,請程式設計實現,在o(n)時間內找出其中任意乙個重複數。

不知道n有多大,如果非常大,就不知道o(n)的解法了

給定乙個存放整數的陣列,重新排列陣列使得陣列左邊為奇數,右邊為偶數。要求:空間複雜度o(1),時間複雜度為o(n)。

兩個指標移動

各大公司經典演算法面試題

微軟 有乙個整數陣列,請求出兩兩之差絕對值最小的值,記住,只要得出最小值即可,不需要求出是哪兩個數。寫乙個函式,檢查字元是否是整數,如果是,返回其整數值。或者 怎樣只用4行 編寫出乙個從字串到長整形的函式?給出乙個函式來輸出乙個字串的所有排列。請編寫實現malloc 記憶體分配函式功能一樣的 給出乙...

近期參加的各大公司面試總結

前段時間公司堅持不下去了,所以加入了找工作的大軍。上一家公司是一家o2o創業公司,在裡面呆了一年半多,現有的公司的產品就是從零開始一點點參與完善迭代的,在這個過程中從中也學到了很多也成長了很多,更認識了一幫可愛的同事。奈何大環境不好,公司已經堅持不下去了,所以開始準備找工作。從開始的準備面試題,面試...

2012各大公司的C 試題

那麼多c 試題,其實最關鍵的是要知道考察的知識點在 哎,應該好好重新看看 effective c 了。網易3道c 試題 題目1 cpp view plain copy class a a void fun1 intgetvalue protected virtual void fun2 privat...