国产精品成人一区二区在线_日本淫妇xxww老女人,_黑人让我高潮的视频_欧美亚洲高清在线一区_国产丝袜久久久久之久_国产精品这里有精品_亚洲aⅴ男人的天堂t在线观看_免费黄色片一级毛片

php工程師面試題及答案

2021-04-08 試題

  PHP全稱:Hypertext Preprocessor,是一種用來開發(fā)動態(tài)網(wǎng)站的服務(wù)器腳本語言。下面是小編整理的php工程師面試題及答案,希望對大家有幫助!

  【1 】Memcached、redis的使用和理解

  Memcached和redis 都是一個key-value的內(nèi)存式存儲系統(tǒng),通過hash表來存儲檢索結(jié)果,做到強大的緩存機制。像新浪的微博、淘寶等大流量站點都必須的使用了這些東東。

  Memcache是一個高性能的分布式的內(nèi)存對象緩存系統(tǒng),通過在內(nèi)存里維護一個統(tǒng)一的巨大的hash表,它能夠用來存儲各種格式的數(shù)據(jù),包括圖像、視頻、文件以及數(shù)據(jù)庫檢索的結(jié)果等。簡單的說就是將數(shù)據(jù)調(diào)用到內(nèi)存中,然后從內(nèi)存中讀取,從而大大提高讀取速度。

  redis是一個key-value存儲系統(tǒng)。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)。

  【2】你對于設(shè)計模式和MVC的理解

  Model-View-Controller,模型、視圖、控制器,一想到MVC就會想到JAVA,因為JAVA是一個完全面向?qū)ο蟮恼Z言,MVC最早出現(xiàn)在smalltalk中,其核心就是要將試圖和數(shù)據(jù)模型分離,這樣不同的程序就可以有不同的展示。

  模型,即程序員寫的功能、算法和數(shù)據(jù)模型,也就是我們說的系統(tǒng)業(yè)務(wù)邏輯層。

  視圖,即前端,圖形界面。展示給用戶看的。

  控制器,主要負(fù)責(zé)對請求處理、轉(zhuǎn)發(fā)和加載視圖。

  設(shè)計模式,說白了就是代碼的設(shè)計經(jīng)驗的總結(jié)和歸類,設(shè)計模式最早應(yīng)用于建筑行業(yè),編程的設(shè)計模式按最早的GoF所述,包括23種設(shè)計模式,主要用于面向?qū)ο蟮某绦蚓幊。遵循幾個設(shè)計原則:開閉原則、單一職責(zé)原則、里氏替換原則、依賴注入、接口分離、迪米特原則、優(yōu)先使用組合而不是繼承等等。包括創(chuàng)建型模式、結(jié)構(gòu)性模式、行為模式三類。

  【3】HTTP協(xié)議1.0及1.1的區(qū)別,并簡單說下HTTP協(xié)議

  HTTP,超文本傳輸協(xié)議。它定義了瀏覽器和服務(wù)器的通信規(guī)則。HTTP協(xié)議是基于TCP/IP的TCP協(xié)議上,現(xiàn)在萬維網(wǎng)使用的是HTTP1.1版本,其特點包括,C/S模式,請求簡單(GET/POST/HEAD),靈活(可以傳輸任何類型的數(shù)據(jù)HTML、XML、JSON、自定義等),無連接(每次連接只處理一個請求,從發(fā)出請求到收到200狀態(tài)為止斷開連接),無狀態(tài)。

  對HTTP協(xié)議的考察主要包括,響應(yīng)消息格式、請求消息格式、狀態(tài)碼等知識點。

  一般一個HTTP協(xié)議包括:起始行(start line)、首部(header)、主體(body)三個部分。

  [響應(yīng)消息格式]

  HTTP/1.1 200 0K

  Connectlon:close

  Date: Thu, 13 Oct 2005 03:17:33 GMT

  Server: Apache/2.0.54 (Unix)

  Last—Nodified:Mon,22 Jun 1998 09;23;24 GMT

  Content—Length:682l

  Content—Type:text/html

  這個響應(yīng)消息分為3部分:1個起始的狀態(tài)行(status line),首部、1個包含所請求對象本身的附屬體。狀態(tài)行有3個字段:協(xié)議版本字段、狀態(tài)碼字段、原因短語字段。

  [請求消息格式]

  GET /somedir/page.html HTTP/1.1

  Host:www.chinaitlab.com

  Connection:close

  User-agent:Mozilla/4.0

  Accept-language:zh-cn

  (額外的回車符和換行符)

  該請求消息的第一行稱為請求行 (request line),后續(xù)各行都稱為頭部行(header)。請求行有3個字段:方法字段、URL字段、HTTP版本字段。

  [狀態(tài)碼]參見http://www.cnblogs.com/TankXiao/archive/2013/01/08/2818542.html

  1xx 消息

  2xx 成功

  3xx 重定向

  4xx 請求錯誤

  5xx 服務(wù)器錯誤

  [常見狀態(tài)碼]

  200 OK。請求已成功,請求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回。

  300 Multiple Choices。請求資源有多個選擇,如請求文本有法語版、英語版等等。

  301 Moved Permanently。表示請求的網(wǎng)頁已永久轉(zhuǎn)移到新位置

  302 Found。表示頁面在做臨時跳轉(zhuǎn)時返回的狀態(tài)。

  304 Not Modified?蛻舻木彺尜Y源是最新的, 要客戶端使用緩存。

  400 Bad Request。錯誤的請求。

  403 Forbidden。請求被服務(wù)器拒絕了。

  404 Not Found。表示服務(wù)器找不到請求的網(wǎng)頁,服務(wù)器上不存在的網(wǎng)頁經(jīng)常會返回的HTTP狀態(tài)碼。

  500 Internal Server Error。

  503 Service Unavailable。服務(wù)器目前無法為請求提供服務(wù),但過一段時間就可以恢復(fù)服務(wù)。

  504 Gateway Timeout。與狀態(tài)嗎408類似, 但是響應(yīng)來自網(wǎng)關(guān)或代理,此網(wǎng)關(guān)或代理在等待另一臺服務(wù)器的響應(yīng)時出現(xiàn)了超時。

  505 HTTP Version not supported。 HTTP協(xié)議版本不支持。

  【4】簡單說下Apache中rewrite機制和PHP框架中URI路由機制

  1)URL重寫,其實就是把用戶通過瀏覽器請求的URL,到了后臺,apache根據(jù)預(yù)先配置的重寫規(guī)則將該請求指向真正的資源路徑,說白了就是打馬虎眼,把真正的路徑改頭換面后給用戶訪問,可問題是這樣做有啥用處呢。

  1、SEO方面。將動態(tài)的URL靜態(tài)化,以滿足搜索引擎的胃口。

  2、訪問控制。比如,通過重寫規(guī)則后,客戶端不易判斷后臺程序類型等。

  3、URL重定向。當(dāng)網(wǎng)站更改域名或增加別名URL后,可以通過規(guī)則輕松的指向要訪問的URL。

  http://httpd.apache.org/docs/current/mod/mod_rewrite.html

  mod_rewrite 使用基于正則表達式動態(tài)的.修改傳入請求的URL。它可以將URL映射到文件系統(tǒng)路徑,也可以將一個URL映射到另一個URL。它使用了沒有限制數(shù)量的規(guī)則來操縱URL,每條規(guī)則可以包括沒有限制數(shù)量的附加條件。你可以通過多種方式來檢測,如,服務(wù)器變量、環(huán)境變量、HTTP頭、時間戳等。

  mod_rewrite 操作整個URL路徑,包括path-info的部分。一個重寫規(guī)則可以被設(shè)置在http.conf或者.htaccess中。一個重寫規(guī)則生成的路徑可以包括一個請求字符串,或者內(nèi)部的子程序處理,外部請求的重定向,或者穿透內(nèi)部代理等。

  2)PHP框架中的URI路由機制,與apache重寫類似,一般包括通配符和正則兩種規(guī)則。讓用戶可以重新定向(remap)URI處理程序. 設(shè)定你自己的路由規(guī)則。

  【5】MySQL的索引機制,復(fù)合索引的使用原則

  (深入淺出MySQL一書中對索引的使用講的比較細(xì)致)

  一般都會用書本中的目錄來介紹索引機制,包括有些書本會有專門的快速檢索附錄,就很類似于數(shù)據(jù)庫的索引。

  MySQL的索引包括4類:主鍵索引(primary key)、唯一索引(unique)、常規(guī)索引(index)、全文索引(fullindex)。

  Show index from table_name; –查看表中的索引

  Show status like ‘Handler_read%’ –查看索引的使用情況

  復(fù)合索引,一般遵循最左前綴原則,如table_a 的 a b c 三列建復(fù)合索引

  create index ind_table_a on table_a(a,b,c);

  那么,只有在條件中用到a,或者a、b,或者a、b、c這樣的情況下,才會用到剛建的復(fù)合索引。

  【6】如何理解OOP

  OOP,面向?qū)ο缶幊,包括三個方面,繼承性、封裝性、多態(tài)性,其中最根本的東西就是抽象。

  繼承性,即擴展性,通過子類對已經(jīng)存在的父類進行功能擴展。

  封裝性,要求外部不能隨意存取對象的內(nèi)部數(shù)據(jù),即對該類中的具體實現(xiàn)做封裝,用戶不必知道內(nèi)部的具體實現(xiàn),只有知道它是干什么的,怎么用就好了。

  多態(tài)性,就是類的抽象和接口,同一個類能夠處理多種類型對象的能力。

  我們在現(xiàn)實中,看到的任何東東都可以看做為一個對象,然后通過進一步的抽象為類,類又可以演變?yōu)楹芏囝愃频膶ο。舉個簡單的例子,將我們看到的一個房子抽象為一個ROOM類,包括基本的門,窗,桌子等物件,人可以進出等功能。 現(xiàn)在我們繼承ROOM類為Classroom,包括扇門,有大窗,有桌椅,另外只包括一個黑白和一個講臺,老師和同學(xué)可以上課,F(xiàn)在我們實例化這個Classroom類為Classroom_621對象,包括兩扇門,四扇大窗,30套桌椅,有同學(xué)正在上毛概課。

【php工程師面試題及答案】相關(guān)文章:

經(jīng)典面試題及答案分析08-13

醫(yī)學(xué)檢驗面試題及答案06-09

最新財務(wù)面試題目及答案05-27

情景模擬面試題及參考答案06-07

競聘上崗面試題及答案05-14

高職單招面試題目及答案03-09

醫(yī)患關(guān)系的面試題及參考答案06-14

2021事業(yè)單位面試題目及答案12-16

教師招聘結(jié)構(gòu)化面試題目及答案09-09

壓力面試題及解答技巧08-13

河西区| 佛冈县| 茌平县| 绍兴市| 沙河市| 义马市| 安丘市| 海淀区| 瑞安市| 论坛| 大同市| 穆棱市| 富民县| 崇明县| 蒙山县| 宁夏| 柞水县| 化德县| 大宁县| 乌兰浩特市| 宜黄县| 织金县| 西吉县| 通河县| 巩义市| 嵩明县| 定南县| 林州市| 乐至县| 嘉鱼县| 余庆县| 尉氏县| 长沙县| 从江县| 陆河县| 武鸣县| 永州市| 淄博市| 扶余县| 扶风县| 宁德市|