99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

搜狐暢游秋招C++筆試復(fù)盤:快速冪、單調(diào)棧與八股考點(diǎn)全解析

搜狐暢游秋招C++筆試復(fù)盤:快速冪、單調(diào)棧與八股考點(diǎn)全解析 2023年搜狐暢游秋招C開發(fā)崗筆試我是在??途W(wǎng)線上參加的全程2小時(shí)攝像頭監(jiān)控屬于游戲公司里比較典型的一類技術(shù)筆試。和其他互聯(lián)網(wǎng)大廠相比暢游這套題更偏愛C語言本身、內(nèi)存管理、多線程這些底層知識(shí)而不是堆砌難到離譜的算法題這也和游戲開發(fā)崗的實(shí)際工作內(nèi)容對(duì)得上。無論你是準(zhǔn)備客戶端、引擎還是服務(wù)端方向這套筆試題基本能把C基本功篩一遍考完之后你對(duì)“八股”的理解會(huì)有一個(gè)新的認(rèn)識(shí)。我投的是C開發(fā)崗服務(wù)端方向筆試當(dāng)天打開試卷第一反應(yīng)是選擇題比例不低編程題有兩道還有一道場(chǎng)景設(shè)計(jì)題。整體難度中等偏上比純互聯(lián)網(wǎng)公司那種“上來就是hard級(jí)算法”要友好一些但對(duì)C內(nèi)存模型和多線程的考察深度明顯更高。這篇文章我只聊干貨把題型分布、高頻考點(diǎn)、編程題解法、八股準(zhǔn)備方式、考場(chǎng)避坑策略一條條拆開講給后面準(zhǔn)備秋招的同學(xué)做個(gè)參考。1. 這次筆試的整體結(jié)構(gòu)與題目類型1.1 試卷構(gòu)成與我的時(shí)間分配先說結(jié)論這套筆試試卷大概由三部分組成。第一部分是選擇題共20道左右單選和多選混在一起。內(nèi)容大概是C語法與語言特性占一半操作系統(tǒng)和網(wǎng)絡(luò)基礎(chǔ)占三成剩下兩成是數(shù)據(jù)結(jié)構(gòu)、算法復(fù)雜度和編譯鏈接相關(guān)。第二部分是兩道編程題一道偏基礎(chǔ)更像保底題一道偏數(shù)據(jù)結(jié)構(gòu)/算法需要在在線OJ上提交代碼支持C11/C17。第三部分是一道問答題給你一段游戲服務(wù)器中常見場(chǎng)景的描述讓你設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)或方案考察你對(duì)多線程、同步、內(nèi)存方面的理解。我當(dāng)時(shí)的時(shí)間分配是選擇題35分鐘編程題70分鐘問答題15分鐘?;仡^復(fù)盤這個(gè)分配不算最優(yōu)。選擇題里有幾道多選比較耗費(fèi)時(shí)間比如“下列哪些操作會(huì)導(dǎo)致迭代器失效”這種選項(xiàng)一多就容易糾結(jié)。我建議選擇題控制在30分鐘內(nèi)遇到拿不準(zhǔn)的直接標(biāo)記千萬不要在一道題上磨超過3分鐘不然后面編程題壓力會(huì)很大。兩道編程題加起來至少留70到80分鐘問答題最后10分鐘寫個(gè)核心方案就行不需要寫論文。1.2 相比往年2023年筆試的三個(gè)變化我在筆試之前刷過前幾年暢游的筆試題也問過在那個(gè)項(xiàng)目組的前輩。和2021年、2022年相比2023年這套題有三個(gè)很明顯的調(diào)整。第一個(gè)變化是新特性考察明顯加重。C11的移動(dòng)語義、智能指針、右值引用幾乎是必考C14、C17的題也會(huì)出現(xiàn)比如constexpr的演進(jìn)、if constexpr、結(jié)構(gòu)化綁定這些。以前可能考“以下哪個(gè)是C11引入的”現(xiàn)在會(huì)直接給一段代碼讓你判斷編譯結(jié)果或者問某段代碼是否存在未定義行為。這意味著你光背結(jié)論不夠得真正理解編譯器怎么處理這些特性。第二個(gè)變化是多線程題目比重上來了。不管是選擇題還是問答題都繞不開鎖、條件變量、原子操作。這個(gè)和游戲服務(wù)器端的場(chǎng)景高度相關(guān)因?yàn)闀秤蔚亩擞魏褪钟畏?wù)器基本都是多線程模型連接管理、玩家狀態(tài)同步、日志落盤都在多線程環(huán)境下跑。筆試?yán)锟级嗑€程不是為了勸退而是想篩掉那些只會(huì)寫單線程Demo、對(duì)并發(fā)毫無概念的候選人。第三個(gè)變化是“給代碼找問題”的題型變多。卷子里有幾道題是給你一段看起來沒什么問題的C代碼問實(shí)際運(yùn)行會(huì)出現(xiàn)什么結(jié)果或者指出哪一行有bug。這種題最考驗(yàn)經(jīng)驗(yàn)比如隱式類型轉(zhuǎn)換導(dǎo)致的精度丟失、臨時(shí)對(duì)象的生命周期、lambda捕獲方式引發(fā)的懸垂引用。沒有真實(shí)讀寫C的經(jīng)驗(yàn)光靠刷題很難答對(duì)。2. 選擇題里那些高頻考點(diǎn)逐題復(fù)盤2.1 C11/14/17 新特性constexpr、智能指針、右值引用先說constexpr。筆試?yán)镏苯訂枴癱onstexpr是哪個(gè)C版本引入的”答案是C11。但2023年這套題顯然不想就這么輕易放過你它還會(huì)往下追問C14對(duì)constexpr做了什么放寬答案是C14允許在constexpr函數(shù)內(nèi)部使用局部變量、循環(huán)和分支不再要求所有東西都是常量折疊。再往深一點(diǎn)C17引入了if constexpr可以在編譯期根據(jù)模板參數(shù)進(jìn)行分支裁剪。我復(fù)盤的時(shí)候發(fā)現(xiàn)這類題目不要死記版本號(hào)最好的記法是理解“編譯器在編譯時(shí)能做什么”。C11剛引入constexpr時(shí)限制很多本質(zhì)上是為了保證編譯器在編譯期求值不炸掉C14放寬是為了實(shí)用C17的if constexpr是為了模板編程更優(yōu)雅。理解了這條演進(jìn)線不管怎么出題都能應(yīng)對(duì)。智能指針也是重災(zāi)區(qū)。選擇題里考了shared_ptr的循環(huán)引用問題以及weak_ptr為什么能解決它。還考了unique_ptr能不能拷貝、可以怎么轉(zhuǎn)移std::move。這里有個(gè)很容易錯(cuò)的點(diǎn)shared_ptr不是線程安全的它只是“引用計(jì)數(shù)”這個(gè)操作是線程安全的但同一個(gè)shared_ptr對(duì)象被多個(gè)線程同時(shí)讀和寫仍然會(huì)有數(shù)據(jù)競(jìng)爭(zhēng)。筆試?yán)锶绻丫€程安全問得細(xì)一點(diǎn)很多人會(huì)掉坑。右值引用和移動(dòng)語義同樣繞不開。出一段代碼讓你判斷調(diào)用了拷貝構(gòu)造還是移動(dòng)構(gòu)造這種題幾乎年年有。關(guān)鍵點(diǎn)在于有名字的右值引用是左值所以std::move返回的是右值引用類型但移動(dòng)構(gòu)造函數(shù)內(nèi)部通常要把成員置空防止析構(gòu)時(shí)double free。這道題如果答錯(cuò)說明你對(duì)移動(dòng)語義里的“資源所有權(quán)轉(zhuǎn)移”理解還停留在背函數(shù)名階段。2.2 內(nèi)存布局與對(duì)象模型sizeof、虛函數(shù)表、指針C開發(fā)崗筆試不可能不考內(nèi)存。今年考了一道很典型的給定一個(gè)類成員變量有一個(gè)int、一個(gè)double、一個(gè)虛函數(shù)問sizeof(類)是多少。這里面的坑在于虛函數(shù)指針占8字節(jié)64位int占4字節(jié)double占8字節(jié)由于對(duì)齊規(guī)則實(shí)際結(jié)果不是48820而是要按最大對(duì)齊數(shù)對(duì)齊最終是24。這種題不畫內(nèi)存布局圖很容易錯(cuò)。還有一道題考了虛繼承的存儲(chǔ)布局。它給了一個(gè)菱形繼承的例子問最終派生類對(duì)象里有幾份基類子對(duì)象、虛基類指針怎么排布。說實(shí)話虛繼承在游戲開發(fā)里用得不算多但筆試就是喜歡考因?yàn)樗芎Y掉對(duì)對(duì)象模型理解不深的人。建議復(fù)習(xí)的時(shí)候至少把“無虛繼承的普通繼承布局”和“含虛函數(shù)的單繼承布局”畫一遍虛繼承理解一下原理就夠了。指針相關(guān)的題也不少比如“const int* p”和“int* const p”的區(qū)別“delete p之后要不要置空”、“為什么在析構(gòu)函數(shù)里delete this指針是不安全的”等等。這些基礎(chǔ)得不該錯(cuò)但每年都有人栽在“delete之后沒有置空導(dǎo)致double free”這種低級(jí)失誤上。筆試現(xiàn)場(chǎng)我有印象的是一道題void func(char* p) { delete[] p; }然后主函數(shù)里傳了一個(gè)棧上數(shù)組名進(jìn)去問運(yùn)行結(jié)果。答案是崩潰因?yàn)閐elete[]和new[]不匹配而且釋放棧內(nèi)存本來就是未定義行為。這種題就是考察你有沒有真正寫過會(huì)崩的代碼。2.3 多線程與同步鎖、條件變量、CAS 與 ABA 問題多線程這部分我覺得是暢游這套題和普通互聯(lián)網(wǎng)公司拉開差距的地方。選擇題里考了死鎖的四個(gè)必要條件互斥、持有并等待、不可剝奪、循環(huán)等待。這個(gè)其實(shí)不難難點(diǎn)在于給一段加鎖順序交錯(cuò)的多線程代碼判斷會(huì)不會(huì)死鎖、怎么解決。解法也很簡單讓所有線程按同一個(gè)順序加鎖或者用std::lock同時(shí)鎖多個(gè)互斥量。CAS與ABA問題也出現(xiàn)在了選擇題里因?yàn)闊嵩~里就有“aba問題c”。CAS是無鎖編程的基礎(chǔ)核心是compare-and-swap但CAS存在ABA問題線程1讀到一個(gè)值是A線程2把它改成B又改回A線程1再次CAS時(shí)發(fā)現(xiàn)還是A就認(rèn)為沒人動(dòng)過實(shí)際上中間已經(jīng)被改過。解決方式是加版本號(hào)。筆試?yán)镆苷f清楚這個(gè)問題是什么、為什么發(fā)生、怎么解決。條件變量也是高頻考點(diǎn)??剂艘坏李}用條件變量實(shí)現(xiàn)一個(gè)生產(chǎn)者消費(fèi)者隊(duì)列問wait為什么一定要配合while循環(huán)使用而不是if。原因是存在“虛假喚醒”spurious wakeup而且即使沒有虛假喚醒也可能被多個(gè)消費(fèi)者同時(shí)喚醒然后競(jìng)爭(zhēng)同一個(gè)任務(wù)所以必須在循環(huán)里重新檢查條件。這個(gè)考點(diǎn)對(duì)應(yīng)到游戲服務(wù)器就是任務(wù)隊(duì)列、網(wǎng)絡(luò)事件分發(fā)到處都在用。3. 編程題手記從讀題到AC的完整過程3.1 第一題快速冪加上大數(shù)取模這套筆試的第一道編程題比較友好考的就是快速冪。題目描述大概是給定三個(gè)整數(shù)a、b、p計(jì)算a的b次方除以p的余數(shù)其中a、b、p的范圍大概是10^9左右。如果直接用循環(huán)乘b次時(shí)間復(fù)雜度O(b)b到10^9時(shí)就完全不可行編譯環(huán)境會(huì)卡死時(shí)間限制也給得很緊我記得C/C是1000ms其他語言給了2000ms。所以必須用快速冪把冪運(yùn)算降到O(log b)。#include iostream using namespace std; long long quick_pow(long long a, long long b, long long p) { long long res 1 % p; a % p; while (b 0) { if (b 1) { res res * a % p; } a a * a % p; b 1; } return res; } int main() { long long a, b, p; cin a b p; cout quick_pow(a, b, p) endl; return 0; }這里有幾個(gè)細(xì)節(jié)值得說。第一res初始值應(yīng)該寫成1 % p因?yàn)槿绻鹥等于1任何數(shù)對(duì)1取模都是0如果直接初始化為1就會(huì)出錯(cuò)。第二a要先對(duì)p取模防止a本身很大、平方之后溢出long long。第三乘法也要先取模再取模不能等最后一次性取模因?yàn)橹虚g結(jié)果可能已經(jīng)超過long long的范圍。這道題其實(shí)是在送分如果連快速冪都寫不出來C崗基本就沒戲了。順帶說一句后來我了解到“n個(gè)整數(shù)的最小公倍數(shù)怎么求c”這個(gè)問題也是筆試/面試高頻很多人會(huì)去直接相乘再除gcd但數(shù)字一大就溢出。正確做法是先除以gcd再乘另一個(gè)數(shù)比如lcm(a,b)a/gcd(a,b)b而不是ab/gcd(a,b)。這兩道題背后的邏輯是一樣的你不僅要知道數(shù)學(xué)公式還要知道在計(jì)算機(jī)里怎么防止溢出。3.2 第二題單調(diào)棧解決“下一個(gè)更大元素”第二道編程題是數(shù)據(jù)結(jié)構(gòu)題考了單調(diào)棧題目是經(jīng)典變種給定一個(gè)整數(shù)數(shù)組對(duì)每個(gè)元素求右邊第一個(gè)比它大的元素的下標(biāo)如果不存在就是-1。這道題我在??蜕纤⒌竭^原題屬于必須要拿下的題型。暴力的做法是兩層循環(huán)O(n^2)n到10^5就直接超時(shí)。單調(diào)棧的思路是維護(hù)一個(gè)棧棧內(nèi)元素對(duì)應(yīng)的值保持遞減遍歷每個(gè)元素時(shí)把棧里所有比當(dāng)前元素小的彈出彈出時(shí)記錄當(dāng)前下標(biāo)就是它們右邊第一個(gè)更大元素的下標(biāo)。#include iostream #include vector #include stack using namespace std; vectorint nextGreaterElement(const vectorint nums) { int n nums.size(); vectorint res(n, -1); stackint st; for (int i 0; i n; i) { while (!st.empty() nums[st.top()] nums[i]) { res[st.top()] i; st.pop(); } st.push(i); } return res; } int main() { int n; cin n; vectorint nums(n); for (int i 0; i n; i) { cin nums[i]; } vectorint res nextGreaterElement(nums); for (int i 0; i n; i) { if (i) cout ; cout res[i]; } cout endl; return 0; }棧里面存的是下標(biāo)而不是值這個(gè)細(xì)節(jié)很關(guān)鍵因?yàn)轭}目要返回的是下標(biāo)。如果只存值輸出時(shí)就還得再查一遍原數(shù)組多一次O(n)的遍歷。單調(diào)棧的時(shí)間復(fù)雜度是O(n)因?yàn)槊總€(gè)元素最多入棧一次、出棧一次。這類題在游戲研發(fā)里其實(shí)有對(duì)應(yīng)的實(shí)際場(chǎng)景比如在一個(gè)戰(zhàn)斗系統(tǒng)里經(jīng)常要對(duì)場(chǎng)景里的單位做掃描找出某個(gè)單位附近的下一個(gè)目標(biāo)單位用單調(diào)??梢钥焖俣ㄎ缓蜻x對(duì)象。當(dāng)然真實(shí)項(xiàng)目不會(huì)直接用裸棧去套但數(shù)據(jù)結(jié)構(gòu)里那個(gè)“單調(diào)性”的思想是一脈相承的。3.3 字符串處理與輸入輸出的坑除了兩道編程題本身筆試?yán)镞€有一個(gè)隱形考點(diǎn)字符串和輸入輸出處理。2023年這套題的編程題雖然沒有直接出字符串處理題但熱詞里“c字符串?dāng)?shù)組初始化”、“c字符串轉(zhuǎn)數(shù)組”、“c讀入整行”、“c指定順序輸出”這些都是筆試常見底層操作。我在考場(chǎng)上遇到的一個(gè)實(shí)際問題是某些OJ題目要求讀入一整行字符串里面包含空格。很多人會(huì)順手用cin line結(jié)果讀到空格就停了導(dǎo)致后面所有數(shù)據(jù)全錯(cuò)。正確做法是#include iostream #include string using namespace std; int main() { string line; getline(cin, line); // 讀取一整行包含空格 return 0; }如果前面先用cin n讀了一個(gè)數(shù)字后面再用getline會(huì)發(fā)現(xiàn)getline讀到一個(gè)空行因?yàn)榫彌_區(qū)里還留著換行符。處理方法是在cin n之后調(diào)用cin.ignore()把換行符吃掉。這種細(xì)節(jié)不刷幾道ACM風(fēng)格的題目很難注意到。字符串切分也是高頻操作。筆試?yán)锝?jīng)常給你一串逗號(hào)分隔的字符串讓你轉(zhuǎn)成數(shù)組。最穩(wěn)妥的寫法是用getline結(jié)合stringstream#include iostream #include sstream #include vector #include string using namespace std; vectorstring split(const string s, char delim) { vectorstring result; stringstream ss(s); string item; while (getline(ss, item, delim)) { result.push_back(item); } return result; }這里注意getline的第三個(gè)參數(shù)是分隔符默認(rèn)是回車傳逗號(hào)就是按逗號(hào)切。這個(gè)方法比C語言里的strtok安全得多因?yàn)閟trtok會(huì)修改原字符串而且不是線程安全的在C里寫代碼盡量避開C風(fēng)格的字符串函數(shù)。還有一個(gè)考場(chǎng)上特別值得注意的點(diǎn)輸入輸出效率。n達(dá)到10^5甚至10^6時(shí)默認(rèn)的cin/cout因?yàn)橐虲標(biāo)準(zhǔn)IO同步速度會(huì)很慢容易造成超時(shí)。我在第一道快速冪題里其實(shí)n不大但為了保險(xiǎn)還是加了一句ios::sync_with_stdio(false); cin.tie(nullptr);這個(gè)寫法能明顯加快cin/cout速度。如果你習(xí)慣用scanf/printf那就不需要加。其實(shí)在線筆試用一個(gè)自己常用的風(fēng)格就行別在考場(chǎng)上臨時(shí)換。4. 如何高效備戰(zhàn)游戲公司C八股題4.1 八股不是背題是要能講出原理我見過很多同學(xué)備戰(zhàn)筆試就是背面經(jīng)把“虛函數(shù)表存放在哪里”、“new和malloc的區(qū)別”這些答案背到滾瓜爛熟。但2023年暢游這套題給我的感覺是光背結(jié)論沒用它會(huì)用一個(gè)具體的代碼場(chǎng)景讓你判斷本質(zhì)上是考你“為什么”。舉個(gè)例子八股里常背“new和malloc的區(qū)別”但如果筆試給你一段代碼問“malloc分配的內(nèi)存能通過delete釋放嗎”很多人會(huì)條件反射說不能因?yàn)閚ew/delete和malloc/free必須配對(duì)使用。但如果你進(jìn)一步去問“為什么不能”有一部分人就答不上來了。真正的原因是new不僅要分配內(nèi)存還會(huì)調(diào)用構(gòu)造函數(shù)delete不僅要釋放內(nèi)存還會(huì)調(diào)用析構(gòu)函數(shù)。如果拿malloc分配的對(duì)象直接用delete編譯器會(huì)嘗試去調(diào)用一個(gè)從來沒構(gòu)造過的對(duì)象的析構(gòu)函數(shù)行為未定義。這就是把結(jié)論用原理去解釋而不是死記硬背。我在準(zhǔn)備八股的時(shí)候有一個(gè)習(xí)慣每個(gè)考點(diǎn)都問自己三個(gè)問題——這是什么、為什么這樣設(shè)計(jì)、如果不這樣做會(huì)怎樣。比如智能指針不這樣設(shè)計(jì)裸指針會(huì)怎樣答案是忘記釋放導(dǎo)致內(nèi)存泄漏、異常安全無法保證那shared_ptr怎么解決通過引用計(jì)數(shù)weak_ptr又解決什么循環(huán)引用。這樣一層層往下問基本就能把一個(gè)問題徹底吃透。4.2 高頻八股速查表結(jié)合2023年筆試的考點(diǎn)和網(wǎng)上討論的熱詞我整理了一份C游戲崗筆試高頻八股速查表大家可以直接拿來對(duì)照復(fù)習(xí)??键c(diǎn)核心結(jié)論容易踩的坑虛函數(shù)與多態(tài)有虛函數(shù)的類含虛表指針虛表存放虛函數(shù)地址動(dòng)態(tài)綁定靠vptr構(gòu)造函數(shù)不能是虛函數(shù)析構(gòu)函數(shù)建議虛函數(shù)深拷貝與淺拷貝淺拷貝只拷貝指針深拷貝拷貝指向的內(nèi)容默認(rèn)拷貝構(gòu)造是淺拷貝兩個(gè)指針指向同一塊內(nèi)存會(huì)double free四種caststatic_cast編譯期轉(zhuǎn)換dynamic_cast運(yùn)行時(shí)RTTIconst_cast去constreinterpret_cast底層重解釋const_cast去掉const后修改值仍是未定義行為智能指針unique_ptr獨(dú)占所有權(quán)shared_ptr共享引用計(jì)數(shù)weak_ptr不增加引用計(jì)數(shù)shared_ptr不是線程安全的循環(huán)引用要用weak_ptr破移動(dòng)語義std::move把左值轉(zhuǎn)右值移動(dòng)構(gòu)造偷走資源移動(dòng)后原對(duì)象置空有名字的右值引用是左值不能直接用std::move(this)標(biāo)準(zhǔn)容器vector內(nèi)存連續(xù)list雙向鏈表map紅黑樹unordered_map哈希表容器使用期間對(duì)vector插入會(huì)導(dǎo)致迭代器失效編譯鏈接編譯四階段預(yù)處理、編譯、匯編、鏈接static庫鏈接順序會(huì)影響符號(hào)解析-l要放到目標(biāo)文件后面內(nèi)存對(duì)齊結(jié)構(gòu)體對(duì)齊到最大成員對(duì)齊數(shù)的整數(shù)倍不同成員順序會(huì)影響sizeof大小多線程mutex保證互斥condition_variable等待通知原子變量無鎖死鎖避免要統(tǒng)一加鎖順序這張表覆蓋了筆試選擇題里絕大多數(shù)核心點(diǎn)但每一條都值得展開成一篇筆記來寫。我的建議是每天挑其中3條自己給自己講一遍能不看資料講明白就算過講不明白就回去翻書。4.3 設(shè)計(jì)模式里必須會(huì)手寫的3個(gè)游戲公司C崗比互聯(lián)網(wǎng)公司更愛考設(shè)計(jì)模式因?yàn)橛螒蝽?xiàng)目里狀態(tài)機(jī)、單例、觀察者都是天天用的東西。我這次筆試的選擇題里就出現(xiàn)了單例模式和觀察者模式的概念辨析問答題也要求設(shè)計(jì)一個(gè)事件分發(fā)機(jī)制。第一個(gè)必會(huì)單例模式。懶漢和餓漢都要會(huì)寫而且要能寫出線程安全的版本。C11以后最簡單的線程安全寫法是Meyers Singletonclass Singleton { public: static Singleton getInstance() { static Singleton instance; return instance; } private: Singleton() {} Singleton(const Singleton) delete; Singleton operator(const Singleton) delete; };這個(gè)寫法利用C11規(guī)定“函數(shù)局部static變量的初始化是線程安全的”這一特性又簡單又安全。筆試現(xiàn)場(chǎng)手寫單例我建議默認(rèn)寫這個(gè)版本比雙檢鎖加鎖簡單還不容易出錯(cuò)。第二個(gè)必會(huì)工廠模式。游戲里創(chuàng)建角色、創(chuàng)建怪物、創(chuàng)建不同的子彈都離不開工廠。簡單工廠用if-else或switch創(chuàng)建具體產(chǎn)品工廠方法把創(chuàng)建邏輯下沉到子類抽象工廠處理一族產(chǎn)品。筆試不要求你寫特別復(fù)雜但至少簡單工廠要能一次寫對(duì)。第三個(gè)必會(huì)觀察者模式。游戲里的成就系統(tǒng)、任務(wù)系統(tǒng)、UI系統(tǒng)全都依賴事件和觀察者。核心設(shè)計(jì)是維護(hù)一個(gè)監(jiān)聽器列表事件發(fā)生時(shí)遍歷通知。手寫的時(shí)候要注意通知過程中如果某個(gè)監(jiān)聽器被銷毀了怎么避免懸垂指針這是最容易考的點(diǎn)。一般做法是使用weak_ptr來保存觀察者通知前先lock失敗了就從列表里移除。這3個(gè)模式是保底如果時(shí)間充裕建議再復(fù)習(xí)狀態(tài)模式和命令模式。狀態(tài)模式對(duì)應(yīng)游戲角色行為切換命令模式對(duì)應(yīng)技能釋放和撤銷都是游戲開發(fā)里高頻使用的模式。5. 筆試環(huán)境、調(diào)試技巧與時(shí)間不夠時(shí)怎么辦5.1 考試系統(tǒng)與編譯器的幾個(gè)細(xì)節(jié)筆試用的是??途W(wǎng)的系統(tǒng)本地沒有IDE只有網(wǎng)頁編輯器。雖然牛客支持C17但它用的編譯器大概率是GCC不是MSVC。這意味著如果你平時(shí)在Visual Studio里寫代碼有些寫法在牛客上可能編譯不過或者行為不同。最容易出問題的幾個(gè)地方第一GCC對(duì)頭文件的嚴(yán)格程度比MSVC低但在線OJ也不會(huì)幫你自動(dòng)包含代碼里必須把用到的頭文件都寫出來。第二GCC的int范圍是32位long在Linux 64位下是64位但在Windows下long是32位。所以如果你的代碼里用了long而且題目數(shù)據(jù)范圍超過2^31在線OJ上是沒問題的但你自己本地Windows調(diào)試時(shí)可能要改成long long。建議統(tǒng)一用int64_t或者long long跨平臺(tái)最穩(wěn)。還有一點(diǎn)網(wǎng)頁編輯器沒有斷點(diǎn)調(diào)試功能出bug只能靠cout打印或自己腦補(bǔ)。我這次筆試犯過一個(gè)低級(jí)錯(cuò)誤忘了加return 0本地VS會(huì)自動(dòng)補(bǔ)但在線判題某些環(huán)境下會(huì)警告甚至RE。所以交代碼之前自己快速掃一遍main函數(shù)一定要有返回值。5.2 本場(chǎng)考試最常見的代碼失誤考場(chǎng)上最容易出的問題不是思路而是低級(jí)失誤。我根據(jù)自己和周圍人的復(fù)盤整理出幾個(gè)高頻雷區(qū)。數(shù)組越界是第一大雷區(qū)。用vector的[]去訪問不存在的下標(biāo)本地運(yùn)行可能不報(bào)錯(cuò)但OJ會(huì)返回段錯(cuò)誤。尤其是單調(diào)棧這類題目要反復(fù)確認(rèn)棧頂下標(biāo)在沒彈出的情況下是否可能越界。我寫單調(diào)棧時(shí)習(xí)慣在每次st.top()之前都檢查!st.empty()寧可多寫一個(gè)條件也不賭自己沒看錯(cuò)??罩羔樅蛻掖怪羔樖堑诙罄讌^(qū)。比如對(duì)nullptr調(diào)用成員函數(shù)或者返回了局部變量的引用。C里最容易踩的是lambda捕獲方式按引用捕獲局部變量然后在另一個(gè)線程里執(zhí)行這個(gè)lambda結(jié)果局部變量已經(jīng)析構(gòu)了。這種問題筆試不一定能立刻看到但選擇題里很愛出判斷“這段代碼哪里有未定義行為”。遞歸棧溢出是第三大雷區(qū)。如果筆試題目允許用遞歸一定要先估算遞歸深度。深度超過10萬層時(shí)默認(rèn)棧大小一般8MB可能不夠用。我當(dāng)時(shí)的處理方式是優(yōu)先改寫成循環(huán)或者用顯式棧模擬遞歸。實(shí)在要遞歸就把遞歸函數(shù)里的局部變量盡量挪到堆上降低單層棧幀大小。5.3 卡題時(shí)的策略先暴力再優(yōu)化如果編程題卡住我的建議是先寫暴力解法拿到部分分再考慮優(yōu)化。很多在線OJ的判題規(guī)則是“通過部分測(cè)試用例就給部分分?jǐn)?shù)”空著肯定0分暴力至少能過掉小數(shù)據(jù)。以快速冪那道題為例如果一時(shí)間沒想起來怎么實(shí)現(xiàn)直接寫循環(huán)乘法可能只能過10%的測(cè)試點(diǎn)但有10分總比0分強(qiáng)。寫完暴力之后再想優(yōu)化思路會(huì)順暢很多因?yàn)楸┝Π姹疽呀?jīng)把輸入輸出和基本邏輯跑通了剩下只是把中間那段循環(huán)換成更高效的算法。還有一個(gè)策略實(shí)在做不出最優(yōu)解但知道有某種算法可以過不要糾結(jié)于“最優(yōu)最美”的寫法。筆試沒有重構(gòu)環(huán)節(jié)能AC的就是好代碼。我見過有人考場(chǎng)上反復(fù)改代碼想讓時(shí)間復(fù)雜度再降一個(gè)常數(shù)級(jí)別結(jié)果改出了bug得不償失。6. 針對(duì)性準(zhǔn)備建議搜狐暢游這類游戲公司到底在篩什么人6.1 客戶端/引擎方向重內(nèi)存和性能如果你是投客戶端或者引擎方向的C崗筆試之外更要注意那些和渲染、資源管理相關(guān)的知識(shí)點(diǎn)。雖然筆試選擇題里不會(huì)直接問你OpenGL或者Unity但面試官會(huì)通過筆試的C基礎(chǔ)題判斷你的底層功底尤其是內(nèi)存管理。客戶端場(chǎng)景下內(nèi)存是最稀缺的資源GC也不能亂用所以C的RAII、智能指針、移動(dòng)語義這些能力是實(shí)打?qū)嵰玫摹9P試?yán)镪P(guān)于棧和堆的題、對(duì)象生命周期題都直接映射到客戶端開發(fā)里的資源加載、場(chǎng)景切換、對(duì)象池管理。刷題之外建議自己寫一個(gè)小項(xiàng)目比如實(shí)現(xiàn)一個(gè)簡單的對(duì)象池體會(huì)一下“分配和釋放”在游戲引擎里是怎么被高度控制的。6.2 服務(wù)端方向重并發(fā)和網(wǎng)絡(luò)服務(wù)端筆試題的編程題會(huì)比客戶端更偏向網(wǎng)絡(luò)和高并發(fā)場(chǎng)景。2023年這套題雖然沒直接考socket編程但問答題和選擇題里已經(jīng)隱含了網(wǎng)絡(luò)編程的要求比如TCP和UDP的區(qū)別、阻塞和非阻塞IO、epoll和select的對(duì)比。服務(wù)端C崗的核心工作就是處理大量并發(fā)連接玩家的移動(dòng)、戰(zhàn)斗、聊天消息全部要通過服務(wù)器轉(zhuǎn)發(fā)。所以多線程和網(wǎng)絡(luò)是服務(wù)的生命線。準(zhǔn)備這個(gè)方向建議把網(wǎng)絡(luò)編程里經(jīng)典的Reactor模型、多線程事件循環(huán)、連接池這些都過一遍不用寫框架但至少要能用epoll寫一個(gè)簡單的echo服務(wù)器理解ET和LT兩種模式的區(qū)別。這個(gè)能力筆試不一定能直接考但后面面試大概率會(huì)問。6.3 筆試前的刷題與復(fù)習(xí)節(jié)奏最后說說我自己的復(fù)習(xí)節(jié)奏給大家一個(gè)參考。我把秋招筆試準(zhǔn)備分成了三個(gè)階段基礎(chǔ)期、刷題期、模擬期?;A(chǔ)期大概兩周核心是把C Primer里關(guān)于類、內(nèi)存、拷貝控制、移動(dòng)語義、智能指針這幾章重新讀了一遍同時(shí)把《Effective Modern C》里的條款挑著看重點(diǎn)理解現(xiàn)代C寫法和背后的原因。這個(gè)階段不急著刷題先建立對(duì)C語言本身的系統(tǒng)認(rèn)識(shí)。刷題期三到四周主要在??秃土凵习礃?biāo)簽刷題不按題號(hào)刷。高頻標(biāo)簽是數(shù)組、字符串、鏈表、棧、隊(duì)列、二叉樹、動(dòng)態(tài)規(guī)劃、貪心。每天固定兩道題一題偏簡單一題偏中等周末做一次套題模擬。這個(gè)階段還有一個(gè)任務(wù)就是把上面那張八股速查表里的知識(shí)點(diǎn)逐個(gè)寫成筆記每天輸出一篇。模擬期考前一周專門做往年的筆試真題嚴(yán)格按考試時(shí)間限時(shí)全程開攝像頭模擬。??蜕嫌胁簧儆螒蚬镜恼骖}暢游的題目也有人在討論區(qū)分享。模擬的時(shí)候重點(diǎn)關(guān)注時(shí)間分配、編程題輸入輸出格式、以及提交前的代碼檢查流程??紙?chǎng)上最大的恐懼不是題難而是“時(shí)間不夠、格式錯(cuò)了、編譯不過”這些操作層面的問題。最后說點(diǎn)實(shí)際體會(huì)這次筆試我最大的一個(gè)教訓(xùn)是選擇題別貪快也別戀戰(zhàn)。我前面有幾道多選糾結(jié)太久編程題第一道快速冪雖然AC了但第二道單調(diào)棧當(dāng)時(shí)只過了部分用例因?yàn)槲野严聵?biāo)和值混著存繞了一圈才改對(duì)??纪陱?fù)盤發(fā)現(xiàn)如果選擇題壓縮5分鐘第二道題完全有時(shí)間調(diào)通。所以做題節(jié)奏一定要穩(wěn)遇到不確定的選擇題先跳過最后再回來看往往能節(jié)省出編程題需要的黃金時(shí)間。還有就是C八股這件事不要當(dāng)成“面試要考所以背”而是當(dāng)成“我寫代碼本來就要懂這些”。這次筆試讓我更確定了一件事游戲公司的C崗考察的本質(zhì)不是你會(huì)不會(huì)背某個(gè)知識(shí)點(diǎn)而是你有沒有真正寫過、調(diào)過、崩潰過的C代碼。那些坑那些細(xì)節(jié)那些“為什么”都是在真實(shí)項(xiàng)目里踩出來的。希望這篇復(fù)盤能幫你少踩幾個(gè)坑。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情深爱五月天| 日本女人久久| 色婷婷久久| 99re这里只有精品国产99| 超碰av在线| 色噜噜在线| 久久刺激网| 亚洲乱码日产精品BD| 亚洲综合五月| 亚洲va欧洲va国产va不卡| 啪啪综合| 亚洲国产色婷婷| 五月天色区| 亚洲热久久| 欧日美女Va| 午夜丁香 婷婷| 色99色| 婷婷五月精品中文字幕| 五月天婷婷色播| 久久99久久久| 99视频91| 欧美激情久| 五月丁香综合啪啪| 99九九久久| 婷婷操婷婷干婷婷射| 国产精品五月丁香| www.粉嫩av.com| 97超级碰碰碰久久久| 天天干,天天日| 夜夜久久综合网| 美女天天久久| 91综合在线| 伊人九九综合| 91 原创 在线 九色| 伊人婷婷五月天av| 综合99在线| 生活片五区| 婷婷五月另类网站| 影音先锋五月婷婷| 国产在线网址1| 99精品视频在线观看| 噜噜色五月| 免费视频这里只有精品| 激情综合六月| 五月婷婷 激情五月| 婷婷五月天激情视频| 九九热视频精品2| 色玖玖玖| 婷婷永久在线| 婷婷导航| 色五月婷婷丁香国产在线| 第五婷婷伊人丁香色| 大香婷婷| 婷婷玖玖五月天| 色色色香蕉五月婷| 影音先锋91视频| 色和综合网| 国产一区二区三区影院| 久久久亚洲精品一区二区三区浴池| 99re这里只有| 国产精品久久久久9999小说 | 91干在线| 天天影院色| 午夜成人综合| 色五月婷婷丁香五月| 五月婷婷六月丁香激情| www,超碰| 国产熟女一区二区三区五月婷| 亚洲激情网| 99精品免费| 野战毛片三一3| 九九这里都是精品| av在线资源| 久九色| 99热碰碰热| 九热精品| 色婷婷成人做爰A片免费看网站 | 免费婷婷| 亚洲精品99| 国外亚洲成AV人片在线观看| 韩国97天堂| 日本在线视频看se99| 丁香五月天亚洲综合| 丁香综合久久| 精品久久久999| 任你爽精品免费视频6| 91se在线视频| 久久婷婷五月综合色播| 天天插天天射| 色五月亚洲| 亚洲V国产V欧美V久久久久久| 狠狠婷婷色综合| 在线不卡AC| 婷婷五月天天天| 欧美黄色韩日网| AV在线免费网站| 色五月激情五月开心五月| 久久色情| 91九色超碰正在播放| 激情久久肏屄视频| 丁香五月冃欧美| 色色色免费视频| 九色无码| 丁香五月色情| 9超碰在线| 九九精品热| 色人五月婷婷| 中文字幕精品在线观看| 久久99人人| 99人人操| 久久久久99精品成人片| 色情五月丁香| 性爱技巧五月| 久久婷婷五月国产激情综合片| 五月丁香六月激情综合在线| 婷婷在线视频| 色婷婷另类| 五月丁香影院| 五月激情六月综合| 亚洲色婷婷| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 99精品自拍视频| WWW五月天| 天天日综合| 91精品综合久久久久久五月丁香| 综合成人小说婷婷| www免费在线视频| 丁香五月黄色| 天天摸,天天爽| 五月天天天色| 五月天综合在线网| 国产VA播放| 人妻操逼视频| 五月婷婷很很色| 五月丁香黄色| 久久久精品色| 丁香婷婷五月份| 欧美色偷拍| 久久99热这里只有精品23| 囯产精品久久欠久久久久久九大| 一级片无码| 亚洲思思热久| 狠狠狠狠狠狠色| 亚洲无码 图片区| 九九熱最新視頻| 色99在线观看| 丁香五月久久社区| 婷婷五月天偷拍| 色噜噜狠狠色综无码久久合欧美| 超碰色婷婷| 婷婷五月综合啪| 丁香婷婷大香蕉| 操逼视频一区| 五月丁香琪琪| 一本久道综合99| 天天爽夜夜爽夜爽精品| 色五月AV| 久久婷婷五月综合色欧美| 婷婷放心五日爱| 日日操天天| 99免费在线视频| 色综合色色色色| 五月婷在线视频免费播放| 亭亭玉月丁香| 亚洲激情校园| 伊人无码高清| 日韩av干| 日韩在线观看网址| 五月婷婷深爱六月| 中文婷婷狠狠| 99色婷婷| 色综合久久久久| 大香蕉五月婷婷| 婷婷成年人免费视频| 北条麻妃伊人 | 亚洲激情婷婷| 97碰碰视频在线观看免费| 超碰无码老师| 婷婷俺去也| 深爱激情综合| 黑人无码一区| 婷婷性爱影院| 五月色婷婷亚洲| 色啪网| 五月婷婷人人人操| 日韩婷婷| 日日干综合| 久久婷婷五月天| 五月天色狠狠| chaopengdaxiangjiao| 婷婷五月天手机版视频| 99在线播放| 思思热精品在线观看| 色婷婷五月天av在线| 99热久草| 久久婷婷五| 色综合色综合色综合色综合| 欧洲S级在线观看| 婷丁香五月天| 色综久久AV| 婷婷久久五月天| 九九操综合网| 九九超碰人人| 久久五月综合| 好好干av| 日韩AV在线免费观看| 久久免费操| 欧美日本VA| 色五月激情五月| www.五月天。com| 亚洲六月色| 人人草人| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 天天综合网在线| www.色九月| 亚洲AV成人在线| 六月五月丁香五月欧美| 99亚洲视频| 久久大香蕉视频| 狠狠操狠狠插| 亚洲碰碰碰| 情五月亚洲婷婷| 人妻激情网| 99精品久久久久| 五月丁香综合久久| 久久66er久久| 综合激情婷婷| 超爽内射| 婷婷五月欧美综合| 六月丁香激情网| 丁香五月在线看| 特黄三级片| 亚洲视频一区| 欧美激情综合色综合啪啪五月| 五月婷婷九| 亚洲AV网站| 亚洲成人av中文| 一起草AV| 99久久6| 欧美国产一区二区三区| 岛国AV网站| 婷婷亚洲激情在线观看视频| 色婷婷五月天中文字幕| 91色五月| AV在线免费播放| 国产无遮挡又黄又爽免费网站| 五月天性色| 日韩在线观看亚洲| 亚洲区在线| 婷色五月| 婷婷五月在线观看| 一级二级香港秋霞欧美欧美秋霞| 久久这里都是精品免费| 久久精品99久久久久久久久| 五月天丁香婷婷网| 婷婷五月成人| 亚洲熟女色| 日日懆天天懆| 婷婷五月丁香在线观看| 9999久久久久| 丁香五月AV| 婷婷五六日| ,99视频久久| 性爱AV天堂| 婷婷综合精品| 少妇丁香婷婷 | 97综合在线| 中文字幕在线免费观看视频| 色婷婷五月综合| 青青草原亚洲天堂| 亚洲综合婷婷| 久久婷婷一级片| 五月天婷婷色播综合在线| 激情综合网五月天天| 91婷婷丁香| 99综合久久| 久久九九网| 99,色| 色亚洲无码| 色人久久| 色香五月天| 五月社区婷婷激情| 伊人五月天| 五月婷婷色五月| 婷婷99狠狠| 五月丁香久| 色在线99| 大地9中文在线观看免费高清| 这里只有精品久久| 操婷婷久久| 五月久久网| 伊人久久婷| 丁香五月天欧洲在线| 开心五月婷婷六月丁香| 婷婷综合在线| 99性爱视频| 久久大香蕉丁香| 一婬一伦一区二区三区| 亚洲国产婷婷色五月| 99精品在线| 狠狠人人| 丁香五月综合激情啪啪| 国产精品99久久久久久久女警 | 狠狠色综合久久久久| 九九九九九九热| 开心久久网婷婷| 精品国婬伦V无码久久久| 色丁香五月婷婷综合久久| 99人人干人人| 婷婷五月天男人影院色色网| 中文AV网站| 俺去也五月天婷婷| 超级碰碰碰久久网站| 91久久| 另类视频一区| 五月亭亭性| 久久久婷| 网站免费一站二站| 变态 另类 在线| 久久99激情| 久色大| 五夜丁香| 五月婷在线| 欧美成人AAA片一区国产精品| 性做爰1一7伦| 免费成片在线观看| 久Se视频在线观看| 色五月天天在线观看资源站| 色婷婷亚洲在线| 婷婷五月天综合色| 五月丁香久久久久| 少妇AB又爽又紧无码网站| www婷婷色| 岛国资源站| 操人久久| 伊人国产婷婷五月天 | 超碰熟女农村在线69| 婷综合六月| 玖玖五月丁香| 婷婷激情五月天在线视频| 天天色官网| 欧美中文五月天| 色玖玖爱| 99re欧美精品| 亚洲第一成人无码A片| 成人精品一区二区三区四区五区| www.99情趣网| 99久久久99久久91熟女| 五月大香蕉| 三年高清大片免费观看国语| 就99这里只有精品| 婷婷丁香五月av| 丁香六月婷婷综合缴| 亚洲九N| 国产无人区大片| 天天干天天色天天干| www.夜夜操.com| 91九色国产熟女| 五月婷婷综合在线观看| 91丨九色丨首页| 久热这里只有精品3| 五月丁香婷婷视频| 人人干女人| www.婷婷五月天.com| 深夜婷婷 丁香| 久久这里只有精品07| 激情综合五| 激情婷婷丁香五月天| 亚洲国产精品VA在线看黑人| 九九一综合精品| 激情五月天之六月婷婷| 色五月播五月| 激情涩播| 99热这里只有精品98| 深爱五月激情五月| 99久久超级| 丁香五月影院| 精品99在线| 日韩一区二区A片免费观看| 日日艹思思热| 91人妻九色大屁股| 深爱综合网| 色五月中文字幕| 丁香婷婷六月男男| 婷婷色婷婷| 五月天婷婷综合网| 热99热9| AV色色天堂中文| 天天夜夜六月丁香五月婷婷老师| 婷婷久久亚洲| 人人九色| 丁香六月综合激情| 成人色色视频| 影音先锋四区| 99精品视频在线观看| 天插天啪天啪天啪| 操人视频91| 91玖玖| 中文字幕婷婷五月天| 大陆极品少妇内射AAAAAA| 婷婷娱乐丁香综合网| 日韩精品无码AV| 五月天婷婷基地| 婷婷丁香色性爱| 婷婷五月激情在线| 色婷婷网大全在线| 丁香五月综合亚洲| 8050一级网| 五月婷久久| 色色五月婷| 亚洲成人在线播放| 99热天堂| 91操在线视频| 伊人久久婷婷| 久久九色| 天天日天天爽| 噜噜色五月| 91狠狠综合久久| 综合九色| 日日干日日| 97爱综合| 久9久9久9久9久9久9| 91精品啪| av久热| 2021日韩无码| 日本天天色| 九九综合88| 天天干天天干天天干天天干天| www.韩日视频| 婷婷五月天色播| 色婷婷综合电影| 小视频久久久aaa| 五月丁香六月停停停| 日韩在线五月天婷婷| 91精选国| 狠狠干在线| 97人人干人人操| 亚洲中文字幕网| 噜噜狠狠色| 激情綜合網址| 亚洲情欲| 五月婷婷花| 啪啪视频99| 天天日夜夜曹| 久久色天堂| 色色亚洲视频| 9国产在线视频| 青草热视频这里只有精品| 91婷婷色| 蜜臀av粉嫩av懂色av| 五月综合激情啪啪啪啪啪| 99超级碰免费视频| 色婷婷97| 97在线综合| 五月激情综合美女久久| 五月花丁香婷婷| 色综合色综合婷婷热| 人伦30P| 日本色色网站| 久久精品4| site:wpjngj.com| 99热伊人| 五月丁香性| 91精品久久久久久| 97luluse| 色欲av伊人久久大香线蕉影院 | 九九色色| 人妻性爱| 成人在线视频男人的天堂4399| 99在线免费视频| 亚洲小视频免费观看| 免费精品99| 婷婷激情五月综合| 久久这里只有国产| 色色婷婷婷丁香五月天| 五月婷婷激情综合| 久草热在线视频| 热久久这里只有精品| 99免费在线| 欧美群妇大交乱婬网| 激情五月天综合网| 亚洲激情久久| 久久大香蕉| 三级片AAA久久久AAA久久久AAA| 五月丁香婷婷伊人| 丰满少妇乱A片无码| 俺去啦综合网| 九九色综合网| 丁香狠狠色婷婷久久无码视频| 色停停香蕉视频| 婷婷之六月丁香| 成人网址在线观看| 97在线观视频免费观看| 五月天久久婷婷| 极品五月天| 久久九九综合| 91日视频| 99色热| 丁香婷婷色六月| 五月丁香网视频| 人人操人人添人人摸97| 思思热在线| 婷婷丁香五月亚洲免费| 激情合网婷婷| 亚洲网站在线鸭子av| 国产精品岛国片在线观看免费| 精品婷婷| 91狠狠综合久久| 天天综合中文| 天天干肏夜夜| www.99热视频在线观看| 亚洲综合字幕色色| 丁乡久久| 五月丁香久久色| 久久人妻少妇嫩草AV| 男女99免费视频| 天天色视频| 六月色国内综合| 久久激情综合| 五月色婷婷在线观看| 欧美激情中文字幕| 色色五月综合| 操日挥操日日| 色婷五月丁香久亚洲| 五月丁香A片| 97九色视频| 五月婷婷影视| 万月丁香狠狠爱| 八戒青柠影视剧在线观看| 五月色色色| 色婷婷亚洲婷婷| 99热这里有精力| 九九热AV| 色婷婷成人| 久久草大香蕉| 99久久国产宗和精品1上映| 女性自慰系列第五页| 婷婷偷拍网| 久热这里只有精品性色AV| 综合色播| 99热www.| 五月综合影院| 五月天天爱| 亚洲精品永久久久久久| 色色色婷婷五月天| 99久久婷婷国产综合精品草原| 亚洲永久免费| 九色婷婷| 成人丁香婷婷| 99碰在线视频| AAA久久| 六月婷婷天天操夜夜爽视频| 久久综合热17c| 色色丁香五月婷婷| 四色AVwww| 色婷婷六月| www.五月婷婷久久.com| 爱射综合| 91人妻九色大屁股| 久久色五月天| 五月丁色AV| 99精品无码网站| 久久九九热视频| 色五月成人| 久久五月六月| 天天爽天天干天天| 免费啪啪亚州视频| 天天插天天插| 九九九九成人| 99re思思| 五月丁香婷婷成人综合网| 婷婷六月色开| 91久久婷婷| 丁香婷婷综合激情五月色| 丁香五月综合狠狠| 激情久久久久久久久久久| 欧美日本综合网| 五月婷婷干| 天天爱天天秀天天做| 五月婷婷啪啪| 九九九九成人| 婷婷综合激情五月中文字幕| 夜夜操,天天撸| 黄网在线免费观看| 日韩不卡123| 性生活视频98791| 色婷婷五月天激情久久| AA丁香综合激情| 五月婷婷激情| 久久99免费视频| 激情综合色网| 色欲久久久久| 久久九九网| www.99免费视频| 久久久久久久综合狠狠综合| 中文乱子伦视频| 丁香五月六月| 六月婷婷视频| 99久久久国产精品免费蜜乳tv| 超碰在线观看9| 一本大道伊人AV久久综合| 91九色大屁股| 精品,99| 性爱视频99| 久久精品五月| se99在线| 婷婷香五月天| 日韩精品一品二区三区的使用体验| 色五月激情五月| 91免费看片| 五月婷婷婷婷婷| 婷婷成人视频| 五月婷久久久| 狠狠插日日干撸| 欧美日韩99| 九九re精品视频在线观看| 99热777| 五月丁香激情综合| 婷婷五月激情图片| 丁香六月婷婷综合缴| 欧美成人AAA片一区国产精品 | www.夜夜夜| 九九99九九99| 日都一级A片| 久久视频九九视频| 色婷婷亚洲婷婷| 色一情一乱一乱一区91| 久久五月天网| 夜夜爱爱亚洲| www.五月天社区| 成人无码髙潮喷水A片| 婷婷五月天丁香花| 色婷婷香蕉| 激情文学第四色婷婷丁香五月| 思思热在线免费视频| 成人午夜天| 婷婷五月天美女| 综合色图区| 五月婷婷深深爱| 九九这里有精品| 婷婷五月色花丁香社区| 久久久人妻系列| 成人龟情网丁香五月| 婷婷五月情色| http:色情日本com| 五月丁香久久久日婷婷久久婷婷日| 婷婷精品| 久久黄A片| 五月婷丁香| 九色自拍| 深爱激情六月天| 狠狠色噜噜狠狠狠狠综合| 播五月开心婷婷欧美综合| 99在线一区| 99热99热在线| 色综合香蕉视频| 99这里| 92久操视频| 能直接看的av网站| 91热视频色网站| 久久婷网| 欧美精品999| 开心五月激情网| 超碰亚洲天堂| 亚洲色综合| 亚洲精99| 9视频在线成人网站| 激情综合色五月丁香六月亚洲| 性爱网五月婷婷| 丁香五月婷婷激情中文| 自拍视频在线观看9| 久久这里只有精品99| 97日在线视频| 激情五婷精品网在线观看网址| 天天日天天爽| 六月丁香综合网| 永久天堂日本| 98永久精品| 婷婷综合| 国产人妻777人伦精品HD| 天天射天天射一道本日本社区 | 五月天婷婷久色| 五月Huangsewang| www.亭亭五月天| 婷婷终合色图| 久久只有18视频| 九九99视频精品| 665566 无码| 亚洲午夜一区二区| 精品无码av丁香五月激情| 牛牛热这里只有jingpin| 五月婷色激情五月| 情色五月天网站| 中文字幕丰满孑伦无码专区| 开心激情网五月| 91九色无码日韩| 久久久久久久久久8888| 有哪些A片网站| 人人人操| 欧美婷婷色| 久久99热这里只频精品6学生| 婷婷九月| 亚洲天堂色| 夜夜爱伊人| 日日操夜夜爽天天天| 久久99日本精品视频免费观看| 丁香色综合| 五月婷婷六月激情在线| 久久一品区| 久久五月视频| 午夜丁香婷婷| 开心婷婷五月天电影院| 五月婷婷九九热| 久久大香蕉| 激情丁香五月婷婷| 丁香婷婷射| 婷婷色啪| 亚洲美女裸体被操在线观看| 色玖玖| 五月婷婷丁香狠狠撸久久| 99ri在线| 亚洲色五月婷婷| 亚洲乱码日产精品BD| 激情五月激情综合网| 天天爱天天做天天舔| 超碰不卡在线| 五月天操逼激情| 丁香五月婷婷六月| 色99视频| 激情人妻综合| 国精产品一区一区三区免费视频| 久久九九玖玖| 色久五月天| www色色色com| www.久久99热地址发布| 五月天婷婷在线播放| 26uuu亚洲| 五月天成人在线视频网站| 69午夜成人影片| 欧美日韩91| 金品在线视频99| www九九免费视频| 婷婷五月在线视频| 日本啪啪网| 天天草天天摸| 天天天日天天天干| 色五月亚洲五月天| 99久久66| 婷婷99| www.sebowuyue| 丁J香六月首页| 爱久久小说下载网| 久久婷五月| 色欲婷婷五月天| 婷婷五月草| 玖玖资源站视频| 天天舔天天插天天干| 色欲Av五月天| 丁香女人五月天| 五月丁香六月婷| WWW色色色COm| 五月丁香六月婷婷成人| 丁香五婷| 婷婷五月丁香香蕉| 色色色色区| 国产亚洲成AV人片在线| 色综合久久无码| av婷婷丁香| 五月精品99综合| 丁香伍月婷电影全集| 国产精产国品一二三在观看| 丁香六月啪啪| 国产精自产拍久久久久久蜜 | 色婷婷视频| 五月丁香 啪啪| 中文字幕,综合,91| 五月天丁香婷| 五月丁香福利| 色噜噜狠狠色综合日日| 亚洲色色色色色色色色色| 另类在线| 综合色图区| 丁香五月激情欧美| 91视频五月丁香| 92国产福利| 99热在线中文字幕| www.91操| 婷婷爱五月天| 婷婷亚洲激情在线观看视频| 丰满少妇乱A片无码| 午夜丁香六月婷| 4438亚洲欧美| 激情五月天无人视频在线| 久久久人人操A V| 欧美视频五区| 综合激情五月四射婷婷| 激情内射人妻1区2区3区| 五月婷婷干| Av在线资源| 日本婷婷五月天| 五月丁香777| 99国产精品久久久久久久久久久 | 99成人网一区| 亚洲色五月天在线| 26uuu亚洲欧美| 79精品视频在线观看,| 婷婷色在线播放| 成人日韩欧美| 极品人妻VIDEOSSS人妻| AV亚洲在线| 噜噜操操| 欧洲婷婷五月天| 五月欧美色色五月| 天天爽夜夜爽夜夜爽精品视频 | 五月天色婷婷基地| 五月天色综合| 久久这里有精品| 丁香情色五月| 大香蕉九九操| 最新日本A片| 婷婷激情网五月天| 亚洲成人网站在线播放| 欧美在线干| 日韩青青| www.色9| 丁香五月成人论坛| 激情五月天在线视频| 丁香五月日韩| 日韩成人精品中文字幕电影| 秋霞丝袜啪啪啪| 婷婷五月色播网| 日逼免费视频 | 深爱婷婷丁香五月激情| 丁香色五月 97干| 国产精品第一国产精品| 婷婷综合色网| 天天日狠狠| 婷婷五月成人| 国产精品一区在线观看你懂的| 热久91| 99re66热这里只有精品| 激情婷婷综合五月少妇| 五月伊人网| 日木WWW视频| 欧美在线97| 亚洲综合婷婷五月| 亚洲综合婷婷| 久久激情四射| 激情啪啪五月天| 中文av网站| 青草视频在线观看视频| www.99精品视频| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 欧洲色| 久久99国产综合精品免费| 伊人婷婷五月天av| 九九视频精品视频精品| 久操人妻| 青青草婷婷久久| 久久婷婷五月草视频在线播放| 天天色天天日天天舔| 国产成人精品一区二区三区视频| 26UUU欧美激情一区二区| 五月天五月婷五月激情网| 丁香色婷婷| 久婷自拍视频| 婷婷成人小说综合| 我爱大香蕉| 日韩操逼大片| 91婷婷五月天嫩女| 成人国产欧美大片一区| 99久久久| 婷婷午夜综合| 亚洲视频在线观看区| 婷婷五月天激情综合| 日韩成人网址| 激情伊人网| 综合激情深爱| 午夜天堂一区人妻| 丁香五月婷婷久久综合激情网| 亚洲天堂aaaa| 丁香五月欧美婷婷| 丁香婷婷六月天| 婷婷狠狠18禁久久| 五月天中文字幕在线婷婷| 婷婷九月激情| 日本激情91| 99色视频在线| 久久五月热| 国产人妻777人伦精品HD| 天天综合网91| 99在线热| 9色在线| 性爱视频99| WWW,五月| 综合色99| 99精品免费| 国产激情久久久| 中文激情网| 五月天偷拍| 少妇高潮呻吟A片免费看软件| 成人午夜天| 2025神马午夜福利| 丁香色色五月| 久人人操| 色综合久久88色综合天天99| 久久色情| 怡红院院在线导航网| 色婷婷五月天天天天天天天天天| www.思思99热| 久久A V无码视频| 99精品视频网| 日韩AV片| 任你草| 九九色婷婷五月天| 墨西哥毛片内射精| 991精品在线视频| 五月婷婷六月丁香| 无码激情精品色婷婷久久久久| 九六五月天婷婷| 99色性爰网络| 九九操操| 色狠狠色噜噜AV天堂五区 | www.色五月| 色色色色色日韩午夜激情 | 人妻肉射免费观看| 色99在线视频| 日日爽日日| 国产精品成人AV在线观看春天| 丁香五月天堂亚洲社区| 日本色久| www.国产亚洲69ty.久久久久久久久久久久| 五月婷婷色丁香| 99热在线这里| 伊人啪啪网| 99年操人人爽| 综合色网站| 五月婷婷色播视频| 日日爱激情| 丁香色五月天| 七七色综合| 色色色色综合网| 五月天欧美激情| 综合久久高清| 中国操逼99| 亚洲操精品| 五月天婷婷乱| www超碰| 黄色高清无码| 九九热这里只有精品23| 婷婷五月天成人网站| 久久三级视频| 一片AV片免费播放| 日日干五月天婷婷| 夜夜干夜夜操| 97在线视频观看| www.五月天色色色| www.五月天婷婷姐姐| 美女激情综合| 97自拍视频网| 丁香五月婷婷少妇| WWW免费视频碰碰碰碰| 九九热青草| 大香蕉综合网| 色噜噜狠噜噜视频| 综合久久激情久久| 久久九九怡红院| 久久久久人妻精品| 天天日天天久久青青| 亚洲AV成人片无码网站| 五月婷婷在线综合| 少妇高潮呻吟A片免费看软件| 色5月婷婷色| 色综合天天天天做夜夜| 极品人妻VIDEOSSS人妻| 狠狠爱激情网| 99re热视频这里只精品5| 久热99| 色婷五月| 99re热在线观看| 97操在线| 色久五月| 97五月天| 99在线观看| 99热热这里只精品996小说| 九九婷婷五月天| 思思视频精品| 亚洲精品大片| 欧美精品99| 天天综合 99久久婷婷| 色婷狠狠| 人人看人人摸人人| 亚洲视频综合网| 管管補管管紱| 大香蕉AV在线| 色色综合色视频| 九九99精品| 久久9久久| 在线中文亚洲| 色一情一乱一乱91Av| 久久金品黃色| 9久热在线精品| 青青草原99热| 婷婷五月丁香图片人人操| 密臀久久| 成人做爰A片免费看视频| 中文字幕在线日亚州9| 狠狠香蕉| 综合久久99| 夜夜爽天天爽| 丁香六月天婷婷在线| 五月天综合久久| 五月六月婷婷激情网| 色五月激情五月天| 超碰狠狠操| 婷婷五月花| 日韩人妻无码一区二区| 少妇性按摩无码中文A片| 婷婷在线五月天观看| 99热精品在线观看| 五月婷婷co.m| 婷婷干| 欧美婷婷综合| 九九色院| 亚洲成人免费在线| 热九九精品| 婷婷五月天另类视频| 五月天激情小说| 深爱激情九九五月天| 91打屁股免费看| 色噜噜狠狠狠综合曰曰曰| 丁香婷婷影院| 婷婷五月情| 亚洲激情综合网| 亚洲午夜AV| 激情婷婷五月天在线观看| 五月天婷婷网站| 久色激情| 丁香五月婷婷婷婷欧美综合| 亚洲日韩乱码一区二区三区四区| 丁香五月av在线| 久色88| 激情五月婷婷| www.日韩艹| 丁香花五月天社区| 超碰免费人人| 操逼123网| 99碰碰中文| 久久综合九九| 五月丁香六月情婷婷久久| 99色在线免费观看视频| 激情久久久久| 开心五月婷婷激情网| 月色色综合婷婷网| 99亚洲视频| cc精品国产性传播| 久久婷婷亚洲| 婷婷五月激情四射手| 久久精品夜色噜噜亚洲a∨| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 玖玖爱导航| 久久久久人妻网址| 久久久人妻门| 五月婷婷久久久| 中国女人做爰A片| 国产午夜精品一区二区| 色五月丁香总合网| 91精品国产综合久久蜜芽解析速度| 99综合免费视频| 婷婷五月天论坛| 91干视频| 伊人九九68| 婷婷深爱五月天| 激情五月婷婷五月| 日本精品人妻无码77777| 婷婷五月激情视频在线| 亚洲精品乱码久久久久久按摩观| 热99.com婷婷| 爱射综合| 成人网址在线观看| 婷婷六月天精品| 亚洲小电影在线观看黄999| 中文字幕一色哟哟哟哟| 五月天激情四射网站| 开心五月色婷| 色欲色天天香综合| www.夜夜爱.com| 久热9| 人妻九九九九| 天天爱夜夜爽| 综合性视频99| 九九视频免费| 99色在线观看视频| 亚洲岛国电影| 亚洲V国产V欧美V久久久久久| 欧美精品99| 丁香久久| 九九色99| 激情六月五月婷婷综合网| 九九这里是免费的视频5| 97超喷视频在线观看| 久久草大香蕉| 丁香五月天啪啪| 狠狠色大香蕉| 亚洲va欧洲va国产va不卡| 五月天中文字幕在线婷婷| 日本三级中国三级99人妇网站| 丁香色影院| 高清免费在线视频| 777米奇影视第四色| 日日干天天| 九九RE视频在线精品| 六月份天丁香婷婷| 精品A√| 思思久久青草热| 狠狠色狠狠鲁| 天堂婷婷五月色| 久久这里面只有精品视频| 依人大香蕉| 99精品热| 97久久久| 婷婷免费无马| 婷婷99中文字幕| 26.uuu丁香五月婷婷| 黄久久久| 高清国产AV| 探花搜索结果 - 黄上黄| 激情国产综合| 狠狠色网| 九九av在线| 182TV大香蕉| 九九亚洲综合| 五月丁香综合啪啪| 午夜丁香婷婷| 凹凸7777操操操| 亚洲性图一区二区三区| 草操网| 亚洲丁香五月美女| 九九热思思热| 操逼在线视频| 婷婷激情丁五月| www.激情五月天| 婷婷五月天激情丁香| 伊人五月成人| 99爱视频在线| 六月色婷婷| 国产精品久久久久久白浆色欲| 亚洲欧洲另类| 色色五月天婷婷| 日韩人妻AV在线| 91伦| 99综合自拍| 亚洲精品视频在线| 久久er九九| 五月婷婷六月婷| 天天摸天天做天天爱天天爽| 国产性爱一级| 99色在线| 69凹凸成人综合网| 五月丁香婷色| 五月丁香久久网| 五月丁色AV| 婷婷综合在线观看视频| 五月天啪啪| 九九久久五月天| 伊人久久艹| 久久婷鲁| 开心五月婷婷婷美女| 91碰碰| 久久婷婷婷婷伊人| 五月天婷婷激情综合| 操人91| 五月网站| 69人妻人人澡人人爽久久| 天天色天天搡| 五月婷综合网| 五月婷婷深深爱| 狠狠狠狠狠狠| 成人在线免费网址| 热99国产精品| 婷婷五月天另类网站| 日本激情91| 欧美日本免费一道免费视频 | 色呦呦美女| 久久精品一区二区三区四区| 丁香五月九九| 婷婷五六月丁香| 天天久| 婷婷五月丁香五月| 91精品久| 五月色视频| 五月婷婷啪| 色情五月综合婷婷| 久久五月丁香综合| 欧美天天草人人草| 婷婷五月天综合小说网| 99精在线| 久久九九囯产| 激情深爱婷婷网| 中文成人在线| 熟惀91九色在线| 日韩无码专区| 99亚洲色色| 色婷婷电影网| 婷婷五月天亚洲综合| 丁香激情六月天婷婷| 婷婷五月花| 久久亭亭电影| 色婷婷伦理| 337p大胆噜噜噜噜噜91Av| 大香蕉视频99| 在线VA视频| 亚洲天堂爱爱| 五月丁香婷婷99| 五月天色婷婷视频| 六月婷婷激情| 亚洲激情五月| 五月丁香婷婷伊人| 99热在线看| 97热这里精品在线视频| 精品无码99| 人与禽A片啪啪| 这里只有精彩小视频视频网站| 五月婷婷激情综合av| 精品热青草| 婷婷六月激情啪啪| 久久只有18视频| 婷婷五月天免费视频| 久久婷婷成人视频| 精品久久9| 久久婷婷五月综合一| 婷婷五月天论坛| 国产精品色| 五月天色色激情综合| 五月丁香婷婷久久| 九九超碰人人| 79精品视频| 婷婷视频在线碰| 久久久婷丁香五月| 九九热视频在线观看| 五月天激情小说| 黄色五月婷婷| 五月婷啪啪| 色5月婷婷色| 成人Av在线大片| 91热网址| 婷婷天堂视频| 婷婷亚洲综合| 国产操逼网站| 久久视频这里有精品99| 99精品九九| 色丁香五月婷婷在线| 五月天久久婷| 五月婷婷深爱六月| 无人区码一码二码三码医生系列| 成人精品一区二区三区四区五区 | 丁香五月天天哦| 五月丁香六月在线| 婷婷色婷婷| 久久538| 99视频自拍| 夜夜干天天操| 九九热视频网站| 色狠狠色噜噜AV天堂五区| 五月天久久成人| 九九九干精品|