亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1952 | 回復(fù): 1
打印 上一主題 下一主題

鄭州招聘Linux C開發(fā)8-16k [復(fù)制鏈接]

招聘 : 前端開發(fā)
論壇徽章:
1
IT運維版塊每日發(fā)帖之星
日期:2015-08-08 06:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-07-02 09:45 |只看該作者 |倒序瀏覽
【崗位職責(zé)】
基于Linux系統(tǒng)和C語言,進(jìn)行自定義規(guī)則的IP報文轉(zhuǎn)發(fā)網(wǎng)絡(luò)的服務(wù)端程序(SDN)開發(fā)、調(diào)試、測試等相關(guān)工作。
學(xué)習(xí)Linux內(nèi)核開發(fā),在協(xié)議棧方面不斷深造。
根據(jù)需要自學(xué)工作所需的知識并不斷提高相應(yīng)技能。


【崗位要求】
豐富的Unix平臺編程經(jīng)驗,熟悉Linux系統(tǒng)網(wǎng)絡(luò)編程。
深厚的C語言功底,具備良好的操作系統(tǒng)、計算機(jī)網(wǎng)絡(luò)等基礎(chǔ)知識。
掌握常見的數(shù)據(jù)結(jié)構(gòu)特點并能根據(jù)場景合理選擇,了解算法并能閱讀資料正確實現(xiàn)。


加分:
系統(tǒng)底層原理與優(yōu)化技巧
Linux內(nèi)核方面的知識或開發(fā)經(jīng)驗,協(xié)議棧優(yōu)先
熟知幾個路由協(xié)議的設(shè)計原理


【試題】

說明:
題量較大,如果你是高手,除編程題的第一問必答外,可選擇性地回答一些能展現(xiàn)水平的問題(相信您能判斷出是哪些)。如果能給出試題本身的評價就更好不過了。
除非特別標(biāo)注,不要使用搜索引擎!
應(yīng)屆生除特別情況,不建議投該職位。我們有初級一些的職位可供選擇。

第一題
程序的啟動和運行過程過程通常會依賴配置。比如對于一個網(wǎng)絡(luò)程序,它在啟動的時候需要知道listen哪個端口。程序啟動時會加載默認(rèn)配置項,然后讀取配置文件中的自定義值。程序在運行過程中也可能也會動態(tài)調(diào)整配置項的值,F(xiàn)假設(shè)配置項以name = value的形式定義,自定義值由配置文件提供,程序啟動時從中讀取內(nèi)容分析并保存在一定的數(shù)據(jù)結(jié)構(gòu)中。假設(shè)配置項有bool、字符串和int三種類型,配置文件示例如下:

listen_port = 35
multi_accept = true
welcome_msg = "Hello World"
goodbye_msg = Bye

1)編寫一個標(biāo)準(zhǔn)正式(不能包含偽C代碼)的配置項模塊的頭文件,至少涵蓋初始化與退出、配置項讀與寫和的聲明(考察API的設(shè)計)。如在線程方面有考慮請注釋標(biāo)注(僅考慮Linux),會加分。
2)示例中的兩個字符串型配置項,一個加引號,一個不加引號。你覺得它們的區(qū)別在哪里,為什么要這么設(shè)計?
3)你打算用何種數(shù)據(jù)結(jié)構(gòu)保存所有配置項的內(nèi)容并在程序運行過程當(dāng)中提供增改查操作,為什么(給出原因)?
4)假設(shè)struct config_item結(jié)構(gòu)體定義了一個配置項(上文所述的三種類型),請給出你的結(jié)構(gòu)體定義(考察C語言的掌握程度)。
5)配置項的默認(rèn)值通常在編譯期間就已確定,由配置項模塊在初始化階段存入一定的數(shù)據(jù)結(jié)構(gòu)中。通常而言,除bool類型外,每一個配置項都會有相應(yīng)的合法取值范圍,比如int類型的最大和最小值,字符串的最小最大長度。除了要在調(diào)試階段檢測默認(rèn)參數(shù)的合法性外,配置文件中的所有自定義值都需要在讀入時進(jìn)行檢測。你打算怎么設(shè)計,以便定義每一個配置項的name、類型、取值范圍等信息?建議給出代碼示例。
6)上一問提到要在debug階段檢查默認(rèn)參數(shù),如果希望release階段不再檢測默認(rèn)參數(shù),你打算怎么做?假設(shè)你通過x實現(xiàn),在編寫代碼的時候你是怎么取舍if判斷和x的?
7)配置項的讀頻率通常要遠(yuǎn)遠(yuǎn)大于寫頻率,在多線程環(huán)境下你打算怎么優(yōu)化性能?
8)保存配置項需要用到動態(tài)內(nèi)存分配,假設(shè)程序退出時沒有釋放這些內(nèi)存會有嚴(yán)重的問題嗎?假設(shè)其它模塊調(diào)用exit(3)函數(shù)后希望配置項模塊能“自動”釋放申請的所有資源,怎么實現(xiàn)?
9)上一問中的“exit(3)”,括號中的數(shù)字是什么意思?

第二題
程序的運行離不開運行日志。假設(shè)你已經(jīng)知道文件IO可能會阻塞,如fsync/fdatasync函數(shù)。請問:
1)對于單線程程序,你打算如何優(yōu)化日志模塊的性能,以減少甚至消除刷新日志到硬盤時阻塞帶來的副作用?你能具體描述下“副作用”可能有哪些嗎?
2)如果緩沖區(qū)內(nèi)的日志內(nèi)容不及時刷新(fsync)到硬盤,程序coredump時可能會丟失最近的日志。你怎么看待和處理這個問題?
3)C標(biāo)準(zhǔn)里的文件IO函數(shù)帶緩存嗎?在glibc中的實現(xiàn)是線程安全的嗎?
4)glibc和系統(tǒng)調(diào)用是什么關(guān)系?glibc對哪些系統(tǒng)調(diào)用有何種優(yōu)化?
5)現(xiàn)有一個多線程程序下的日志模塊,它通過一個背景線程寫日志文件來優(yōu)化多線程下的性能表現(xiàn)。如果希望日志模塊的初始化函數(shù)返回后背景線程已啟動且能正常工作,如下的該函數(shù)代碼存在哪些問題:
int log_start(const char *pathname, int flags) {

// ...... some code  ......

struct back_ground_parms parms = { /* ... some int value  */ };

if (0 != pthread_create(&global_var_background_thread, NULL, background_thread_function, &parms)) {
// .... some code
return EXIT_FAILURE;
}

return EXIT_SUCCESS;
}
6)你怎么解決日志模塊和配置項模塊先有雞還是先有蛋的問題?
7)你是怎么調(diào)試多線程程序的?談?wù)勀阌X得有分享價值的經(jīng)歷更好。


第三題
1)相比accept,為什么linux要提供accept4?基于同樣的原因,linux上有哪些相似的系統(tǒng)調(diào)用或glibc封裝。
2)某套API的設(shè)計基于網(wǎng)絡(luò)IO,xxx_open返回一個文件描述符,后續(xù)API通過該文件描述符獲取對應(yīng)的context操作。如果xxx_open函數(shù)要做到線程安全,用要怎么做?(提醒:文件描述符肯定會對應(yīng)一個結(jié)構(gòu)體,該結(jié)構(gòu)體存在一個全局的數(shù)據(jù)結(jié)構(gòu)中。此數(shù)據(jù)結(jié)構(gòu)只能由首次API調(diào)用時觸發(fā)初始化工作,后續(xù)調(diào)用直接使用此數(shù)據(jù)結(jié)構(gòu)。所以不是簡單地加鎖)
3)談?wù)勀阍赥CP和UDP兩種服務(wù)端程序并發(fā)設(shè)計方面的做法。(下邊的3個比如,希望你都涉及下)
  比如:TCP我使用epoll的ET,相比LT……
  又比如:為了增大單機(jī)TCP的并發(fā)……
  再比如:為了處理accept的EMFILE錯誤……
4)RFC959中的FTP協(xié)議(如不了解可搜索資料)使用一個控制一個數(shù)據(jù)共兩個TCP連接完成工作。相比于在一個TCP連接上完成所有工作,兩種方式對比下有哪些優(yōu)缺點?多線程和多進(jìn)程,在這種場景下哪種方式更合適,為什么?
5)分享一次你調(diào)試網(wǎng)絡(luò)程序的經(jīng)歷。


第四題 編程題
1)使用Pthread實現(xiàn)一個模擬生產(chǎn)者消費問題的程序。要求代碼可編譯執(zhí)行,不依賴boost等第三方庫。實現(xiàn)語言C、C++(涵蓋C++14)任選。
2)如有代表水平的Linux C或Linux C++代碼,請給出代碼。
3)如果上述試題未能展現(xiàn)您的技能,比如數(shù)據(jù)庫方面,可簡述表達(dá)展現(xiàn)下。


【福利】
lonlife為團(tuán)隊小伙伴提供最接近BAT的薪資待遇和辦公環(huán)境,在lonlife,薪酬沒上限、大牛遍地走、蘋果是標(biāo)配、租房你嫌累、我們給你配。在lonlife,團(tuán)隊關(guān)系簡單融洽,吃不到勾心豆角,我們只有樓頂燒烤。在lonlife,大牛你不用擔(dān)心蝸居小城技能廢掉,我們讓你品嘗技能Max的美妙。牛逼不吹,大家請看:

  技術(shù)帝看這里:mac電腦、機(jī)械鍵盤、各種資料用書,想要打個報告!
  健身帝看這里:臺球、乒乓、動感單車、淋浴間、洗衣機(jī)
  養(yǎng)生派看這里:中央空調(diào)、空氣凈化器、凈水器、微波爐、電冰箱
  腐敗帝看這里:西瓜無限量、聚餐、K歌、IMAX、樓頂BBQ
  懶覺俠看這里:彈性工作時間、帶薪年假
  宿舍條件這里:免費、可做飯、有陽臺、上下班方便
  其他福利這里:五險一金、節(jié)日福利、生日福利、結(jié)婚生子禮金、公司營收分紅、年終獎、免費法律咨詢、伯樂獎

Lonlife是一支有理想、有實力的年輕人組成的創(chuàng)業(yè)團(tuán)隊,好簡歷趕緊砸過來吧,也可以推薦優(yōu)秀的小伙伴給我們,伯樂獎為月薪的10%-100%

因海投簡歷者過多 不再接受網(wǎng)站投遞簡歷 僅接受郵箱投遞
簡歷投遞格式:
郵件標(biāo)題格式:姓名+應(yīng)聘職位+期望薪酬+應(yīng)聘信息來源(例如:李某+應(yīng)聘Linux C+9k+智聯(lián))
簡歷投放郵箱:elaine.ma@lonlife.cn
公司網(wǎng)址: lonlife.cn

招聘 : 前端開發(fā)
論壇徽章:
1
IT運維版塊每日發(fā)帖之星
日期:2015-08-08 06:20:00
2 [報告]
發(fā)表于 2015-07-27 16:46 |只看該作者
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP