昨天去參加了楊浦區某公司的面試,為了不洩題就不說名字了。
一共面了六輪,先是筆試,再是上機,之後便是公司管理層的車輪戰。
筆試主要考察了位運算符號優先順序, 64位機器下int , long的長度和聯合union的記憶體對齊,前置後置++運算,關於記憶體使用的雷區(考察的是malloc的記憶體沒有free,沒考察的雷區還有返回棧記憶體,使用野指標等等),虛函式的繼承(派生類沒有定義同名虛函式),__file__和__line__兩個巨集,還有乙個設計模式(考察的是觀察者模式)。
本題出自上機題。
一副撲克共有2-10, j, q, k, a,13張牌,讀入五張,從大到小排列順序。
有可能有對,對比單張牌更大。
沒有三張、四張同樣牌的情況,不考慮花色。
例如:輸入 2 10 5 j a, 輸出 a j 10 5 2;
輸入 2 10 5 j 2, 輸出 2 2 j 10 5;
輸入 2 10 5 5 2, 輸出 5 5 2 2 10。
題目聽起來很簡單,上機時間為乙個小時,可惜我沒能在規定時間內完成。
回家後寫了兩個多小時才實現功能,重構和封裝又用了乙個多小時。
定義了兩個類,card類有兩個資料成員,m_index代表牌面數字, m_flag代表單張(0)還是對(1),在建構函式中初始化為單張(0)。
把輸入的牌面作為字串儲存,在get_index()函式中轉換為陣列下標,在card類過載的小於運算子中完成了單張和對大小的對比。
solution類主要提供函式介面,insert()函式在插入時先在vector中查詢,找到了就把m_flag置為1,沒找到就push_back()。solution::sort()函式利用card::operator<()進行排序,solution::display()列印結果時,flag為1列印兩遍,為0列印一遍。
#ifndef _card_h_
#define _card_h_
#include using namespace std;
class card
;#endif // _card_h_
#include #include "card.h"
using namespace std;
card::card(string s)
:m_index(s), m_flag(0)
card& card::operator=(const card& card)
m_index = card.m_index;
m_flag = card.m_flag;
return *this;
}int get_index(const string& s)
; for(unsigned int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
}return -1;
}bool operator<(const card& a, const card& b)
else
}
#ifndef _solution_h_
#define _solution_h_
#include #include #include "card.h"
using namespace std;
class solution
;#endif // _solution_h_
#include #include #include #include "solution.h"
using namespace std;
void solution::insert(vector& vec, string& s)
else
}card* solution::find(vector& vec, string& s)
}return null;
}void solution::sort(vector& vec)
}}void solution::display(const vector& vec)
sol.sort(vec);
sol.display(vec);
return 0;
}
面試題1 9月25日面試題
1.簡述http協議 2.請求頭都包含哪些東西?3.常用狀態碼都有哪些?4.django請求生命週期?5.如何自定義中介軟體 6.django怎麼執行原生sql語句 7.什麼是cbv和fbv?8.什麼是mtv框架 mvc框架?9.csrf攻擊原理 10.orm常用方法 11.簡述cookie和ses...
5月15日反思
emmm.這一陣子,真的發現自己在各個方面都落下了好多,果然,懶惰才是最致命的。當發覺自己在某一方面的很爛,其實反映出來的不光光這乙個方面,而是所有,學習上,生活上,人際交往上.我一直在反思自己這學期為什麼會變成這樣,直到現在才真的認清自己,原因只有乙個,懶癌犯了!之前還在給自己找各種原因,田徑隊訓...
10月31日,面試題小結
localstorage和sessionstorage 塊級元素會獨佔一行,預設情況下,其寬度自動填滿其父元素寬度.行內元素不會獨佔一行,相鄰的行內元素會排列在同一行裡,直到一行排不下,才會換行,其寬度隨元素的內容而變化.塊級元素可以設定width,height屬性.行內元素設定width,heig...