php綜合應用 php面試題之五——PHP綜合應用(高級部分)

php面試題之五——PHP綜合應用(高級部分)

5、PHP綜合應用

1.寫出下列服務的用途和默認端口(新浪網技術部)

ftp、ssh、http、telnet、httpsphp

  • ftp:File Transfer Protocol,文件傳輸協議,是應用層的協議,它基於傳輸層,爲用戶服務,它們負責進行文件的傳輸,其默認端口是21。
  • ssh:Secure Shell,安全外殼協議,創建在應用層和傳輸層基礎上的安全協議。SSH是目前較可靠,專爲遠程登陸會話和其餘網絡服務提供安全性的協議,其默端口是22。
  • http:hypertext transport protocol,超文本傳送協議,是一種詳細規定了瀏覽器和萬維網服務器之間互相通訊的規則,經過因特網傳送萬維網文檔的數據傳送協議,其默認端口是80。
  • telnet:Telnet協議是TCP/IP協議族中的一員,是Internet遠程登錄服務的標準協議和主要方式。它爲用戶提供了在本地計算機上完成遠程主機工做的能力,其默認端口是23。
  • https:Hypertext Transfer Protocol over Secure Socket Layer,是以安全爲目標的HTTP通道,用於安全的HTTP數據傳輸,它的主要做用能夠分爲兩種:
    一種是創建一個信息安全通道,來保證數據傳輸的安全;
    另外一種就是確認網站的真實性,其默認端口是443。
2.你用什麼方法檢查PHP腳本的執行效率(一般是腳本執行時間)和數據庫SQL的效率(一般是數據庫Query時間),並定位和分析腳本執行和數據庫查詢的瓶頸所在?(騰訊)

腳本執行時間,啓用xdebug,使用WinCacheGrind分析。
數據庫查詢,mysql使用EXPLAIN分析查詢,啓用slow query log記錄慢查詢。html

[!!!]3.對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?
  1. 確認服務器硬件可否支持當前的流量
    對於普通的pc server來講,它可以獨立支持天天10萬個獨立ip訪問,若是訪問量過大,最好更好性能更高的專用服務器。
  2. 優化數據庫的訪問服務器的負載過大,一個重要的緣由就是CPU和內存負載太高,而讀寫數據在這塊佔據較多的資源。能夠從頁面靜態化、memcache緩存和mysql優化幾個方面着手。
  3. 禁止外部盜鏈
    佔用較大的流量,防盜鏈,使用reference來判斷一下。若是是圖片的話,使用添加水印便可很好的防止。
  4. 控制大文件的下載
    最好把文件下載的容量控制爲相對較小的一個值,若是有大文件下載,最好使用專用的服務器。
  5. 使用多臺主機實現分流,集羣
  6. 使用流量分析軟件進行分析統計谷歌和百度
4.請簡單闡述您最得意的開發之做

根據實際狀況自由發揮前端

5.談談asp,php,jsp的優缺點

ASP全名Active Server Pages,是一個WEB服務器端的開發環境,利用它能夠產生和運行動態的、交互的、高性能的WEB服務應用程序。ASP採用腳本語言VB Script做爲本身的開發語言。
PHP是一種跨平臺的服務器端的嵌入式腳本語言。它大量地借用C、Java和Perl語言的語法,並結合本身的特性,使WEB開發者可以快速地寫出動態生成頁面。它支持目前絕大多數數據庫。還有一點,PHP是徹底免費的,不用花錢,你能夠從PHP官方站點自由下載。並且你能夠不受限制地得到源碼,甚至能夠從中加進你本身須要的特點。
JSP是Sun公司推出的新一代站點開發語言,他徹底解決了目前ASP和PHP的一個通病-----腳本級執行(聽說PHP4也已經在Zend的支持下,實現編譯運行)。Sun公司藉助本身在上的不凡造詣,將Java從Java應用程序和Java Applet以外,又有新的碩果,就是Java Server Page。JSP能夠在Serverlet和JavaBean的支持下,完成功能強大的站點。
三者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。但JSP代碼被編譯成Servlet並由Java虛擬機解釋執行,這種編譯操做僅在對JSP頁面的第一次請求時發生。
在ASP、PHP、JSP環境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴於Web服務器,而ASP、PHP、JSP頁面須要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被從新嵌入到HTML代碼中,而後一塊兒發送給瀏覽器。
ASP、PHP、JSP三者都是面向Web服務器的技術,客戶端瀏覽器不須要任何附加的軟件支持。java

6.請舉例說明在你的開發過程當中用什麼方法來加快頁面的加載速度。

要用到服務器資源時纔打開,及時關閉服務器資源,數據庫添加索引,頁面可生成靜態,圖片等大文件單獨服務器,使用代碼優化工具等。mysql

7.Is PHP better than Perl?–Discuss.(Yahoo)

咱們不要爲一個簡單的問題引起一場舌戰,爲工做選擇適合的語言,不要爲工做遷就語言。Perl十分適合用做命令行工具,雖然它在網頁應用上也有不錯的表現,可是它的真正實力在命令行上才能充分發揮。一樣地,PHP雖然能夠在控制檯的環境中使用,可是它在網頁應用上有更好的表現,PHP有大量專門爲網頁應用而設計的函數,Perl則彷佛以命令行爲設計之本。linux

8.What's the difference between the way PHP and Perl distinguish between arrays and hashes?(Yahoo)

這正是爲什麼我總是告訴別人選擇適當的編程語言,若果你只用一種語言的話你怎麼能回答這道問題?這道問題很簡單,Perl所變量都是以@開頭例如@myArray,PHP則沿用$做爲全部變量的開頭,例如$myArray。
至於Perl表示散列表則用%,例如%myHash,PHP則沒有分別,還是使用$,例如$myHash。web

9.How do you debug a PHP application?(Yahoo)

使用Xdebug或者Advanced PHP Debugger面試

10.PEAR中的數據庫鏈接字符串格式是____。
$dsn='mysql://username:password@localhost/test' $options=array( 'debug'=>2, 'portability'=>DB_PORTABILITY_ALL, ) DB::connect($dsn,$options)//其中options參數是可選的。

PEAR是PHP擴展與應用庫(the PHP Extension and Application Repository)的縮寫。它是一個PHP擴展及應用的一個代碼倉庫,PEAR處理數據庫的模塊是PEAR DB。ajax

11.如何實現PHP、JSP交互?

題目有點含糊不清,SOAP,XML_RPC,Socket function,CURL均可以實現這些,若是是考慮PHP和Java的整合,PHP內置了這種機制(若是考PHP和.NET的整合,也能夠這麼回答)。
PHP提供了支持JAVA的類庫文件,或者經過HTTP協議來交互數據。正則表達式

[!!!]12.apache+mysql+php實現最大負載的方法
  1. 問的太籠統,生成靜態html頁面,squid反向代理,apache,mysql的負載均衡。
  2. 能夠採起數據緩存的方法,咱們一般在統計數據的時候,須要在原始數據的基礎上通過計算等一系列操做,纔會獲得最終的結果,若是每作一個查詢都須要這樣一系列操做,當數據量大時,勢必會帶來不少問題。能夠創建一個結果表,寫一個腳本,用crontab定時觸發腳本去原始表取數據,計算,寫入到結果表,前端查詢從結果表取數據,這也是比較經常使用的一種作法。
  3. 採用分佈式,多個apache,多個mysql,其實就是dns負載均衡,dns根據當前用戶解析幾個ip的ping值,將用戶轉移到某一臺最快的服務器,或者平均分配。
  4. money不是問題的話,能夠考慮F5硬件負載均衡!
  5. 可使用Microsoft Windows Server系統的負載均衡設置
13.已知姓名A,姓名B,給一個求他們緣份的算法(51.com)

開放性題目,沒有固定的算法,能夠經過計算兩個名字的筆畫差來肯定緣分指數。

14.你以爲在PV10W的時候,同等配置下,LUNIX比WIN快多少?(51.com)

不作優化的狀況下同樣。

[!!]15.Ajax,數據庫觸發器,GUI,中斷機制的共同思想。談一談該種思想(機制)(百度)

主要就是異步,主進程不會被一個異步任務阻塞,當進程發出命令以後,繼續執行主任務,不用等待子任務執行完,這樣效率更高。
數據庫觸發器和中斷機制是數據庫自動完成的,而ajax觸發器是用戶激發的。ajax把GUI和數據庫異步優化。

16.把一篇英文文檔中全部單詞的首字母轉爲大寫,文檔存在doc.txt中。能夠在多種編程語言中選擇(C\C++,JAVA,PHP...)寫出你的思路,儘可能優化你的程序。(百度)
$str=file_get_contents('doc.txt'); $str=ucwords($str); file_put_contents('doc.txt',$str);
17.防止SQL注射漏洞通常用_____函數

addslashes

18.綜合運用,PHP+MySQL編程,文件操做(CBSI)如下請用PHPMYADMIN完成

(1).建立新聞發佈系統,表名爲message有以下字段

字段名 描述
id 文章id
title 文章標題
content 文章內容
category_id 文章分類id
hits 點擊量

建立表語句以下:

CREATE TABLE message( id iNT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, title VARCHAR(200)NOT NULL DEFAULT‘’, content TEXT, category_id INT UNSIGNED NOT NULL DEFAULT 0, hits INT UNSIGNED NOT NULL DEFAULT 0 )engine=InnoDB default charset=utf8

(2).一樣上述新聞發佈系統:表comment記錄用戶回覆內容,字段以下

字段名 描述
comment_id 回覆id
id 文章id,關聯message表中的id
comment_content 回覆內容

現經過查詢數據庫須要獲得如下格式的文章標題列表,並按照回覆數量排序,回覆最高的排在最前面
文章id文章標題點擊量回複數量
用一個SQL語句完成上述查詢,若是文章沒有回覆則回覆數量顯示爲0
查詢語句以下:

SELECT message.id AS id,title,hits,IF(comment.id is NULL,0,count(*))AS number FROM message LEFT JOIN comment ON message.id=comment.id GROUP BY message.id

(3).上述內容管理系統,表category保存分類信息,字段以下

字段名 描述
category_id int(4)not null auto_increment;
categroy_name varchar(40)not null;

用戶輸入文章時,經過選擇下拉菜單選定文章分類
寫出如何實現這個下拉菜單

function categoryList(){ $result=mysql_query("select category_id,category_name from category")or die("Invalid query:".mysql_error()); echo"<select name='category'value=''>"; while($row=mysql_fetch_array($result)){ echo"<option value='".$row['category_id']."'>".$row['category_name']."</option>"; } echo"</select>"; }

文件操做部分:上述內容管理系統,用戶提交內容後,系統生成靜態HTML頁面,寫出實現的基本思路。
要生成靜態HTML頁面,須要使用輸出緩衝output buffering及文件操做,首先使用ob_start()函數開啓輸出緩衝,在頁面內容執行完成時,使用ob_get_contents()函數獲取保存在輸出緩衝區中的內容,而後使用file_put_contents()函數,生成靜態HTML頁面便可。

19.請問cgi和fastcgi有什麼不一樣,你在什麼狀況下會選擇哪一個?(酷訊)

原理同樣,都是利用標準輸入輸出流處理HTTP之類的文本協議,都是經過多進程模式處理多請求。不一樣之處在於FastCGI的一個進程處理完一個請求以後重置狀態並掛起,待下一個請求來時繼續處理;而CGI的一個進程則處理完一個請求後退出,下一個請求來時再建立新進程。

20.zend optimizer是什麼?(酷訊)

Zend Optimizer能夠加速PHP腳本的執行,提升PHP應用程序的執行速度。實現的原
理是對那些程序在被最終執行以前由運行編譯器(Run-Time Compiler)產生的代碼進行優化。
通常狀況下,執行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。這意
味着網站的訪問者能夠更快的瀏覽網頁,從而完成更多的事務,創造更好的客戶滿意度。
Zend Optimizer還能夠給用Zend加密的文件解密。

[!!]21.列舉web開發中的安全性問題

sql注入攻擊。
數據庫操做安全,UPDATE、DELETE、INSERT的操做沒有限制用戶操做權限,這將是一件很危險的事情。
沒有驗證用戶http請求的方式POST或者GET,GET請求被合法經過。
沒有驗證表單來源的惟一性,不能識別是合法的表單提交仍是黑客僞造的表單提交。
XSS攻擊。

[!]22.如何經過php程序防止外部頁面提交表單?編寫一段代碼
<?php session_start(); if(isset($_POST['name'])&&!empty($_POST['name'])){ if($_POST['check']==$_SESSION['check']){ echo'正常訪問'; }else{ echo'外部訪問'; } } $token=md5(uniqid(rand(),true)); $_SESSION['check']=$token; ?> <form method="post"action=""> <input type="text"name="name"> <input type="hidden"name="check"value="<?php echo$token;?>"> <input type="submit"> </form>
[!]23.若是某段與數據庫交互的程序運行較慢你將如何處理?

一是首先提升數據庫的查詢速度,好比增長索引,優化表的結構。
二是優化程序代碼,若是查詢比較多,能夠儘可能用條件查詢,減小查詢語句,好比能用一條查詢語句就不用兩條。
三就是提升服務器的速度,優化服務器,把沒必要要的進程關掉。

24.如下代碼會產生什麼問題,如何解決?

<?php $dir=$_POST['dir']; include("/usr/local/apache/htdoc/inc/$dir"); ?>

不安全,必須對用戶的輸入進行驗證和過濾。

[!!]25.請簡述操做系統的線程與進程的區別。列舉LINUX下面你使用過的軟件?

進程是具備必定獨立功能的程序關於某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位。
線程是進程的一個實體是CPU調度和分派的基本單位,它是比進程更小的能獨立運行的基本單位。
進程和線程的主要差異在於它們是不一樣的操做系統資源管理方式。進程有獨立的地址空間,一個進程崩潰後,在保護模式下不會對其它進程產生影響,而線程只是一個進程中的不一樣執行路徑。線程有本身的堆棧和局部變量,但線程之間沒有單獨的地址空間,一個線程死掉就等於整個進程死掉,因此多進程的程序要比多線程的程序健壯,但在進程切換時,耗費資源較大,效率要差一些。但對於一些要求同時進行而且又要共享某些變量的併發操做,只能用線程,不能用進程。
Linux下經常使用軟件,vim,emacs,tar,openoffice,putty,wget,links,ssh等。

26.用戶在網站表單提交數據的時候,爲了防止腳本攻擊(好比用戶輸入<script>alert(111);</script>),php端接收數據的時候,應該如何處理?

能夠對用戶輸入數據進行轉義,如htmlspecialchars($_POST[‘title’]);

[!!!]27.使用過Memcache緩存嗎,若是使用過,可以簡單的描述一下它的工做原理嗎?

Memcahce是把全部的數據保存在內存當中,採用hash表的方式,每條數據由key和value組成,每一個key是獨一無二的,當要訪問某個值的時候先按照找到值,而後返回結果。
Memcahce採用LRU算法來逐漸把過時數據清除掉。

28.一個Web開發團隊開發中,大體說說你所瞭解的全部成員的分工合做狀況

每一個公司的分工合做狀況各不相同,通常會有策劃,美工,前端開發,後臺開發,維護,優化和推廣等。

[!!!]29.假設給你5臺服務器,請大體的描述一下,如何使用你所熟悉的開源軟件,搭建一個日PV 300萬左右的中型網站?

參考結構:
3臺Web服務器,兩臺MySQL數據庫服務器,採用Master/Slave同步的方式減輕數據庫負載,Web服務器能夠結合Memcache緩存來減小負載,同時三臺Web服務器內容一致,
能夠採用DNS輪詢的方式來進行負載平衡。

30.談談對你PHP認識或你擅長的技術?

自由發揮

[!!!]31.什麼是Ajax?Ajax的原理是什麼?Ajax的核心技術是什麼?Ajax的優缺點是什麼?

Ajax是Asynchronous JavaScript and XML的縮寫,是JavaScript、XML、CSS、DOM等多個技術的組合。
Ajax的工做原理是一個頁面的指定位置能夠加載另外一個頁面全部的輸出內容,這樣就實現了一個靜態頁面也能獲取到數據庫中的返回數據信息了。因此Ajax技術實現了一個靜態網頁在不刷新整個頁面的狀況下與服務器通訊,減小了用戶等待時間,同時也從而下降了網絡流量,加強了客戶體驗的友好程度。
Ajax的核心技術是XMLHttpRequest,它是JavaScript中的一個對象。
Ajax的優勢是:
(1).減輕了服務器端負擔,將一部分之前由服務器負擔的工做轉移到客戶端執行,利用客戶端閒置的資源進行處理;
(2).在只局部刷新的狀況下更新頁面,增長了頁面反應速度,使用戶體驗更友好。
Ajax的缺點是不利於SEO推廣優化,由於搜索引擎沒法直接訪問到Ajax請求的內容。

32.請用PHP實現一個函數,將一個2進制數的無符號非負電位字符串非浮點字符串轉成一個10進制數,返回該10進制數。不準使用BIN等系統內置函數(嘀嗒團)

題目意思有些模糊,題目本意多是將一個無符號的2進制字符串轉成10進制數,如'10100010',應該獲得10100010的十進制表示162。

<?php function bin2dec($bin){ $temp = strrev($bin); $result = 0; for ($i=0,$len = strlen($temp); $i < $len; $i++) { $result += pow(2,$i) * $temp[$i]; } return $result; } $a = '10100010'; echo bin2dec($a);//結果162 ?>
33.請使用PHP設計一個函數,對學生英語考試得分從高到低排序,輸入時全部學生的學號和考試得分,返回排好序的考試得分和對應學生的學號。考試滿分爲100,得分可能會有小數,因爲考試評分要求,小數位只會是0或0.5

要求:
請不要使用qsort等系統內置排序函數
請使用你認爲最快最優的方法實現該函數並使排序的性能最高。(嘀嗒團)

<?php // 快速排序實現 function array_sort(&$arr,$left,$right){ if ($left < $right) { $pivot = $arr[$left]; $low = $left; $high = $right; while ($low < $high) { while ($low < $high && $arr[$high]['score'] >= $pivot['score']) { $high--; } $arr[$low] = $arr[$high]; while ($low < $high && $arr[$low]['score'] <= $pivot['score']) { $low++; } } $arr[$low] = $pivot; array_sort($arr,$left,$low-1); array_sort($arr,$low+1,$right); } } $english = array( array('sid'=>1,'score'=>76), array('sid'=>2,'score'=>93), array('sid'=>3,'score'=>68.5), array('sid'=>4,'score'=>82.5), ); $left = 0; $right = count($english) - 1; array_sort($english,$left,$right); print_r($english); ?>
34.須要設置一個有效期爲31天,的memcach值,請補充下面的代碼(奇矩互動)
<?php $memcache_obj=new memcache $memcache_obj->connect(‘memcache_host,11211’); $memcache_obj->set(‘varKey’,’varValue’,0,____); ?>

time()+36002431

35.你從_____時候開啓接觸PHP的?從能夠寫出連接mysql數據庫查詢更改數據到如今大約有____時間?(奇矩互動)
根據自身狀況填寫
36.如今請你設計一個留言板系統,請簡要的寫出你設計的其中分頁算法的思路。(奇矩互動)

主要是數據庫的設計系統的架構思想
分頁算法的原理是limit offset,pagesize其中,pagesize是設定好的,而offset則要經過計算獲得,不一樣的頁數對應的offset也不一樣,設當前頁爲currentpage,則offset=(currentpage-1)*pagesize。

37.假設有"123abc456def789"這麼一個字符串,寫一個函數,能夠傳入一個字符串,和一個要截取的長度。返回截取後的結果。(小米)

要求:
(1).標記不得計算在長度以內。
(2).截取後的字符串,要保留原有標籤,不過若是最後有一個標籤沒有閉合,則
去掉其開始標籤。
示例:題中的字符串,要截取長度5,則返回的字符串應該爲123ab,要截取長度8,
應返回123abc45。

<?php function cut($str,$len=null){ $last=0; $str_len=strlen($str); $result=''; $result_len=0; do{ $pattern='/<em>(.*?)<\/em>/i'; $num=preg_match($pattern,$str,$m,PREG_OFFSET_CAPTURE,$last); if($num){ $result.=substr($str,$last, $add_len=($m[0][1]-$last<$len-$result_len)?$m[0][1]-$last:$len-$result_len); $result_len+=$add_len; $last=$m[0][1]+strlen($m[0][0]); if($result_len<$len){ if($len-$result_len>=strlen($m[1][0])){ $result.=$m[0][0]; $result_len+=strlen($m[1][0]); }else{ $result.=substr($m[1][0],0,$len-$result_len); break; } } }else{ $result.=substr($str,$last,$len-$result_len); break; } }while($last<$str_len&&$result_len<$len); return$result; } ?>
38.請僅使用一次正則替換,將下面內容

private long contract_id;
private string contract_number;
private string customer_name;
替換爲
private long contractId;
private string contractNumber;
private string customerName;(鑫衆人云)

<?php $str = "private long contract_id; private string contract_number; private string customer_name;"; $pattern = '/_(\w)/em'; $result = preg_replace($pattern,"strtoupper('\\1')",$str); echo $result; ?>
[!!]39.列舉流行的Ajax框架?說明Ajax實現原理是什麼及json在Ajax中起什麼做用?(鑫衆人云)

流行的Ajax框架有jQuery,Prototype,Dojo,MooTools。
Ajax的工做原理是一個頁面的指定位置能夠加載另外一個頁面全部的輸出內容,這樣就實現了一個靜態頁面也能獲取到數據庫中的返回數據信息了。因此Ajax技術實現了一個靜態網頁在不刷新整個頁面的狀況下與服務器通訊,減小了用戶等待時間,同時也從而下降了網絡流量,加強了客戶體驗的友好程度。
在使用Ajax時,涉及到數據傳輸,即將數據從服務器返回到客戶端,服務器端和客戶端分別使用不一樣的腳步語言來處理數據,這就須要一種通用的數據格式,XML和json就是最經常使用的兩種,而json比XML更簡單。

40.在UNIX或windows系統內以()爲單位分配資源以()單位分配時間調度(億郵)

進程,時間片

41.正則表達式中?+的做用分別是什麼(億郵)
?+都有用來匹配數量的,*表示0或多個,?表示0個或1個,+表示1個或多個。
42.寫出你所知道的XML解析器(億郵)

DOM,SAX,SimpleXML,其中前兩種是通用的解析器,和具體語言無關,而SimpleXML則是PHP提供的解析器。

43.在程序中表示時間可使用哪幾種變量類型(億郵)

在PHP中可使用int或字符串來表示(php中沒有日期時間類型),在MySQL中,可使用int,date,datetime,timestamp。

44.使用Utf-8編碼存儲中文姓名,通常會分配多少個字節的存儲空間(億郵)

UTF-8編碼是可變長編碼,對於中文而言,一個字符使用3個字節來存儲。

45.用正則表達式判斷$a是不是一個以半角逗號分隔的多個手機號碼組成的字符串,是輸出yes(卓望)
<?php $pattern = '/^1[358]\d{9}(,1[358]\d{9})*$/'; $subject = '13507224985,13833103237'; if (preg_match($pattern,$subject)) { echo "yes"; } ?>
46.若是要求每隔5分鐘執行一次腳本five.php,如何實現?(卓望)

用到的函數ignore_user_abort(),set_time_limit(0),sleep($interval),此代碼只要運行一次後關閉瀏覽器便可。

<?php ignore_user_abort();//關掉瀏覽器,PHP腳本也能夠繼續執行. set_time_limit(0);//經過set_time_limit(0)可讓程序無限制的執行下去 $interval=60*5;//每隔5分鐘運行 do{ //這裏是你要執行的代碼 sleep($interval);//等待5分鐘 }while(true); ?>
47.假設有一個博客系統,數據庫存儲採用mysql,用戶數量爲1000萬,預計文章總數爲10億,天天有至少10萬的更新量,天天訪問量爲5000萬,對數據庫的讀寫操做的比例超過10:1,你如何設計該系統,以確保其系統高效,穩定的運行?提示:能夠從數據庫設計,系統框架,及網絡架構方面進行描述,能夠自由發揮(新浪網技術部)
相關題目:咱們但願開發一個門戶系統,數據存儲採用MySQL,用戶數量爲1000萬,預計文章總數爲10億,日更新量至少爲10萬,日訪問量爲5000萬,對數據庫的讀寫操做比例超過10:1,你如何設計該系統,以確保其高效,穩定的運行?(提示:能夠從數據庫設計,系統框架及網絡架構方面進行描述,自由發揮)(鑫衆人云)
項目設計:假設有一個包含Tag功能的博客系統,數據庫存儲採用mysql,用戶數量爲1000萬,預計文章總數爲10億,天天有至少10萬的更新量,天天訪問量爲5000萬,對數據庫的讀寫操做的比例超過10:1。你如何設計該系統,以確保其系統高效,穩定的運行?提示:能夠從數據庫設計,系統框架,及網絡架構方面進行描述,能夠寫代碼/僞代碼輔助說明,能夠自由發揮(小米)
相關文章
相關標籤/搜索