工作職責:
1、參與公司賬戶系統(tǒng)與支付集成工具的研發(fā)。
2、后端使用的runtime主要為NodeJs,API服務器操作系統(tǒng)以Ubuntu?14.04?LTS為主,數(shù)據(jù)庫服務器以MongoDB?3.2.X為主。
職位要求:
1、?理解TCP/UDP?(或表現(xiàn)出理解connection-based?byte?streaming/connectionless?datagram的差異與利弊)及使用相應的socket?programming?syntax;
2、?熟悉至少一種編程語言,?包括但不限于LISP,?Erlang,?Java,?PHP,?Javascript,?C#,?C++,?Python;
3、熟悉Linux(常用指令,?參數(shù)及日志查看,?包括但不限于top,?du,?netstat,?lsof,?ss,?iptables,?ip,?route);
4、熟悉至少一種virtual?hosting軟件,包括但不限于nginx,?apache,?tomcat,?lighttpd;
5、熟悉并理解至少兩種數(shù)據(jù)庫程序,?Relational?Database(SQL)及KV/Column/Document/Graph?Database?(NoSQL)各一種;
6、優(yōu)先考慮英語水平良好;
7、熟悉非GUI自動化測試,包括單元測試與集成測試。
請在?https://leetcode.com/problemset/algorithms/?或?https://www.hackerrank.com?進行適量的基礎練習。
【如感興趣,請完成以下測試題目并整理答案+簡歷發(fā)送到郵箱:hr@lockcn.net?!?br />下面題目中,?“C(reate)R(ead)U(pdate)D(elete)”為”創(chuàng)建,讀取,更新,刪除“四個基本操作的簡稱。若無特別說明,“時間/空間復雜度”均指“以Big?O?notation表示的時間/空間復雜度”。例如,?Balanced?BST的單次CRUD操作最壞情況時間復雜度為O(log(n))。
1.??簡述什么是鏈表(LinkedList),?什么是數(shù)組(Array或ArrayList)。它們以相對于首個元素的偏移量為index(索引,對Array來說即下標)的CRUD操作的時間復雜度分別如何?
2.??簡述什么是map/dictionary數(shù)據(jù)類型。簡述tree(樹結(jié)構(gòu))與hash(映射函數(shù)結(jié)構(gòu))分別實現(xiàn)的map/dictionary有什么區(qū)別,建議從CRUD操作的時間復雜度考慮。
3.??簡述什么是thread?safety(線程安全)?可從RAM?address?space,?cache?memory或CPU?primitives(例如test-and-set,?compare-and-swap等)的角度考慮。
要求:用語言描述即可