需求評審俊性、項目排期、研發(fā)上線描扯,產(chǎn)品與開發(fā)打交道的頻率可以說很高定页。一個不懂技術(shù)的產(chǎn)品經(jīng)理,可能被開發(fā)忽悠绽诚,也可能天馬行空出低可行性的需求典徊。而就目前的求職市場而言杭煎,擁有技術(shù)背景的產(chǎn)品經(jīng)理,更具優(yōu)勢卒落。因此羡铲,產(chǎn)品經(jīng)理懂點技術(shù)是必要的。不過不是寫代碼儡毕。懂點開發(fā)常常掛在嘴邊的名詞犀勒,懂點技術(shù)原理,我認(rèn)為可以彌補(bǔ)像我這樣妥曲,缺乏技術(shù)背景的產(chǎn)品經(jīng)理的劣勢贾费。
技術(shù)涵蓋的內(nèi)容太大了,本篇文章先介紹一下常見的名詞檐盟,不至于完全聽不懂他們在說啥褂萧。
1、字符與字節(jié)有什么區(qū)別葵萎?
字節(jié)(Byte)是一種計量單位导犹,表示數(shù)據(jù)量多少,它是計算機(jī)信息技術(shù)用于計量存儲容量的一種計量單位羡忘;字符是指計算機(jī)中使用的文字和符號谎痢,比如1、2卷雕、3节猿、A、B漫雕、C滨嘱、~!·#¥%……—*()——+浸间、等等太雨。
不同編碼里,字符和字節(jié)的對應(yīng)關(guān)系不同:
ASCII碼:一個英文字母(不分大小寫)占一個字節(jié)的空間魁蒜,一個中文漢字占兩個字節(jié)的空間囊扳。
UTF-8編碼:一個英文字符等于一個字節(jié),一個中文(含繁體)等于三個字節(jié)兜看。
Unicode編碼中:一個英文等于兩個字節(jié)锥咸,一個中文(含繁體)等于兩個字節(jié)。
寫需求文檔時铣减,經(jīng)常要限定一段數(shù)據(jù)的長度她君。默認(rèn)一般是1個字符對應(yīng)2個字節(jié)脚作。但上周就遇到一個情況葫哗,限定10個字節(jié)缔刹,卻只能輸出3個漢字,開發(fā)一開始也是懵逼的劣针,后來才發(fā)覺校镐,他用的是UTF-8編碼標(biāo)準(zhǔn)。
2. 什么是接口捺典?
百度百科:“兩個不同系統(tǒng)(或子程序)交接并通過它彼此作用的部分 鸟廓。”我的理解是襟己,一個程序引谜,是一個藏著很多工具(方法與數(shù)據(jù))的盒子,而接口是盒子的開關(guān)擎浴,按下開關(guān)员咽,你可以直接使用盒子里的工具,而不需要打開盒子看個究竟贮预。很多地方都會用到接口贝室,有平臺對外公布的接口,也就是API仿吞;也有常見的客戶端與服務(wù)端溝通的接口等滑频。
3. 什么是封裝?
百度百科:”封裝就是將抽象得到的數(shù)據(jù)和行為(或功能)相結(jié)合唤冈,形成一個有機(jī)的整體峡迷,也就是將數(shù)據(jù)與操作數(shù)據(jù)的源代碼進(jìn)行有機(jī)的結(jié)合,形成“類”你虹,數(shù)據(jù)和函數(shù)都是類的成員凉当。“簡單理解售葡,就是把工具(方法與數(shù)據(jù))裝到盒子里的整個過程看杭。
4. Post與Get有什么區(qū)別?
偶爾會聽到前臺開發(fā)與后臺開發(fā)討論時挟伙,會提到Post與Get方法楼雹,后臺給出的接口文檔里也寫著。網(wǎng)上一查尖阔,原來他們是一對在客戶端與服務(wù)端交互時候用到的HTTP方法贮缅。其中,Post一般用于更新服務(wù)器數(shù)據(jù)介却,而Get一般用于獲取或查詢服務(wù)器數(shù)據(jù)谴供。這里還有個入?yún)⑴c出參的概念,入?yún)⒅傅氖钦埱蠓?wù)器的參數(shù)齿坷,出參指的是服務(wù)器返回的參數(shù)桂肌。我的理解是数焊,用Post方法時,入?yún)芏鄿?zhǔn)備更新的數(shù)據(jù)崎场,出參僅表示更新的結(jié)果佩耳;而Get方法剛好相反,入?yún)⒑芎唵翁房纾鰠t包含很多服務(wù)器返回的數(shù)據(jù)干厚。
5. SDK與API有什么區(qū)別?
SDK是用來開發(fā)某一個平臺的應(yīng)用的工具包螃宙,API 是讓同一平臺下的應(yīng)用取用它的功能的方法庫
API是以功能為導(dǎo)向的方法清單蛮瞄,當(dāng) API 數(shù)量夠多功能夠繁復(fù)并且可交互為用時,開發(fā)商就會為了開發(fā)便利谆扎,而預(yù)先撰寫好一些組合好 APIs 的 API供開發(fā)者使用裕坊,確保開發(fā)者能有一致的開發(fā)與使用體驗。然后燕酷,也陸續(xù)發(fā)展出測試籍凝、除錯工具,甚至是設(shè)計不同平臺開發(fā)環(huán)境所需的套件苗缩,尤其針對不同平臺饵蒂,更是設(shè)計了對應(yīng)的工具來協(xié)助開發(fā)、除錯酱讶;SDK 名詞之所以出現(xiàn)退盯,儼然是為了匯整上述資源而誕生的。因此泻肯,可以說SDK是 API 的包含者(直接使用)與應(yīng)用者(以便加速開發(fā))
6. 什么是第三方庫渊迁?
除本地類庫(開發(fā)自己寫的)、系統(tǒng)類庫(系統(tǒng)自帶的)之外的類庫(類的集合灶挟,不等于框架琉朽,框架是比類庫更高一級的概念 )
7. 什么是 MVC 結(jié)構(gòu)模型?
MVC的處理過程是這樣的:對于每一個用戶輸入的請求稚铣,首先被控制器接收箱叁,控制器決定用哪個模型來進(jìn)行處理,然后模型通過業(yè)務(wù)邏輯層處理用戶的請求并返回數(shù)據(jù)惕医,最后控制器確定用哪個視圖模型耕漱,用相應(yīng)的視圖格式化模型返回數(shù)據(jù),并通過顯示頁面呈現(xiàn)給用戶抬伺。
通過MVC這種特殊的設(shè)計結(jié)構(gòu)螟够,大大提高了Web應(yīng)用的開發(fā)效率。主要有以下幾方面的優(yōu)點:
1峡钓、低耦合性(視圖層和業(yè)務(wù)層分離)妓笙;
2若河、高重用性和可適用性(允許不同式樣的視圖訪問同一個服務(wù)器端的代碼,比如web的HTTP瀏覽器和無線瀏覽器WAP)给郊;
3、較低的生命周期成本(開發(fā)和維護(hù)用戶接口的技術(shù)含量降低)捧灰;
4淆九、部署快速(不同部件的開發(fā)人員專注于自己那個模塊);
5毛俏、可維護(hù)性(分離視圖層和業(yè)務(wù)邏輯層使Web應(yīng)用更易于維護(hù)和修改)炭庙;
6、有利于軟件工程化管理(由于采用分層的思想)煌寇;
8. 服務(wù)端常用語言及其優(yōu)缺點(Java焕蹄、Node.js、PHP)
Java
優(yōu)點:
1阀溶、強(qiáng)類型腻脏、編譯型語言,編譯時就能發(fā)現(xiàn) bug银锻,不需要等到運(yùn)行時再去調(diào)試
2永品、JavaSE規(guī)范,自由處理網(wǎng)絡(luò)相關(guān)击纬、IO 相關(guān)的內(nèi)容
缺點:
1鼎姐、語言本身缺點較多
2、本身的規(guī)范和不夠靈活也導(dǎo)致了代碼本身很難優(yōu)化
PHP
優(yōu)點:
1更振、跨平臺炕桨,性能優(yōu)越,和很多免費(fèi)的平臺結(jié)合非常省錢肯腕,支持N種數(shù)據(jù)庫
2献宫、語法簡單
3、支持主流技術(shù)实撒,比如WebService遵蚜、Ajax、XML等等奈惑,足夠使用
4吭净、有成熟的框架與社區(qū),有很多開源的框架可以應(yīng)用
缺點:
1肴甸、對多線程支持不太好
2寂殉、語法不太嚴(yán)謹(jǐn)
Node.js
優(yōu)點:
1、采用事件驅(qū)動原在、異步編程友扰,為網(wǎng)絡(luò)服務(wù)而設(shè)計
2彤叉、JavaScript 易上手,有著活躍的社區(qū)和很多的第三方庫
3村怪、常駐內(nèi)存
4秽浇、Node.js輕量高效,可以認(rèn)為是數(shù)據(jù)密集型分布式部署環(huán)境下的實時應(yīng)用系統(tǒng)的完美解決方案
缺點
1甚负、混亂的語言規(guī)范
2柬焕、單進(jìn)程,單線程梭域,只支持單核CPU斑举,不能充分的利用多核CPU服務(wù)器
9. 關(guān)系型數(shù)據(jù)庫(SQLite、Oracle富玷、Mysql)的特性、優(yōu)點與缺點
特性:
1既穆、關(guān)系型數(shù)據(jù)庫赎懦,是指采用了關(guān)系模型來組織數(shù)據(jù)的數(shù)據(jù)庫幻工;
2伐蒋、關(guān)系型數(shù)據(jù)庫的最大特點就是事務(wù)的一致性先鱼;
3串远、簡單來說伸但,關(guān)系模型指的就是二維表格模型,而一個關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系所組成的一個數(shù)據(jù)組織饵逐。
優(yōu)點:
1倍权、容易理解:二維表結(jié)構(gòu)是非常貼近邏輯世界的一個概念薄声,關(guān)系模型相對網(wǎng)狀生年、層次等其他模型來說更容易理解档叔;
2衙四、使用方便:通用的SQL語言使得操作關(guān)系型數(shù)據(jù)庫非常方便患亿;
3、易于維護(hù):豐富的完整性(實體完整性沾歪、參照完整性和用戶定義的完整性)大大減低了數(shù)據(jù)冗余和數(shù)據(jù)不一致的概率;
缺點:
1狂窑、為了維護(hù)一致性所付出的巨大代價就是其讀寫性能比較差;
2采呐、固定的表結(jié)構(gòu)仰冠;
3、高并發(fā)讀寫需求妒茬;
4多糠、海量數(shù)據(jù)的高效率讀寫析蝴;
10. 非關(guān)系型數(shù)據(jù)庫(MongoDb殿漠、Redis绞幌、HBase)的特性莲蜘、優(yōu)點與缺點
特性:
1票渠、使用鍵值對存儲數(shù)據(jù)逐哈;
2、分布式问顷;
3昂秃、一般不支持ACID特性;
4择诈、非關(guān)系型數(shù)據(jù)庫嚴(yán)格上不是一種數(shù)據(jù)庫械蹋,應(yīng)該是一種數(shù)據(jù)結(jié)構(gòu)化存儲方法的集合出皇。
優(yōu)點:
1羞芍、無需經(jīng)過sql層的解析,讀寫性能很高郊艘;
2荷科、基于鍵值對,數(shù)據(jù)沒有耦合性纱注,容易擴(kuò)展畏浆;
3、存儲數(shù)據(jù)的格式:nosql的存儲格式是key,value形式狞贱、文檔形式刻获、圖片形式等等,所以可以存儲基礎(chǔ)類型以及對象或者是集合等各種格式瞎嬉;
缺點:
1蝎毡、不提供sql支持,學(xué)習(xí)和使用成本較高氧枣;
2沐兵、無事務(wù)處理,附加功能bi和報表等支持也不好便监;
以上有一部分內(nèi)容來自網(wǎng)絡(luò)扎谎,侵刪碳想。
技術(shù)畢竟不是自己的專業(yè),如果覺得我哪里說得不對毁靶,還請及時指出胧奔,謝謝!