- 相關推薦
PHP程序員要掌握的知識點
體統(tǒng)掌握好每一個知識點,在敲代碼的時候才會得心應手。以下是百分網(wǎng)小編精心為大家整理的PHP程序員要掌握的知識點,希望對大家有所幫助!更多內容請關注應屆畢業(yè)生網(wǎng)!
一、web 架構,安全,項目經驗
2.1 介紹xdebug,apc,eAccelerator,Xcache,Zend opt的使用經驗。
2.2 使用mod_rewrite,在服務器上沒有/archivers/567.html這個物理文件時,重定向到index.php?id=567 ,請先打開mod_rewrite.
首先,打開mod_rewrite模塊。
其次,http.conf找到以下代碼段:
Options FollowSymLinks
AllowOverride None
將其中的:AllowOverride None 改為 AllowOverride All ,重啟httpd服務即可。
然后,在項目根目錄下簡歷 .htaccess 文件,填寫規(guī)則。
2.3 MySQL數(shù)據(jù)庫作發(fā)布系統(tǒng)的存儲,一天五萬條以上的增量,預計運維三年,怎么優(yōu)化?
a. 設計良好的數(shù)據(jù)庫結構,允許部分數(shù)據(jù)冗余,盡量避免join查詢,提高效率。
b. 選擇合適的表字段數(shù)據(jù)類型和存儲引擎,適當?shù)奶砑铀饕?/p>
c. mysql庫主從讀寫分離。
d. 找規(guī)律分表,減少單表中的數(shù)據(jù)量提高查詢速度。
e。添加緩存機制,比如memcached,apc等。
f. 不經常改動的頁面,生成靜態(tài)頁面。
g. 書寫高效率的SQL。比如 SELECT * FROM TABEL 改為 SELECT field_1, field_2, field_3 FROM TABLE.
2.4 寫出一種排序算法(原理),并說出優(yōu)化它的方法。
2.5 請簡單闡述您最得意的開發(fā)之作
2.6 對于大流量的網(wǎng)站,您采用什么樣的方法來解決各頁面訪問量統(tǒng)計問題
a. 確認服務器是否能支撐當前訪問量。
b. 優(yōu)化數(shù)據(jù)庫訪問。參考2.3
c. 禁止外部訪問鏈接(盜鏈), 比如圖片盜鏈。
d. 控制文件下載。
e. 使用不同主機分流。
f. 使用瀏覽統(tǒng)計軟件,了解訪問量,有針對性的進行優(yōu)化。
2.7 您是否用過模板引擎? 如果有您用的模板引擎的名字是?
Smarty
2.8 請介紹Session的原理,大型網(wǎng)站中Session方面應注意什么?
2.9 測試php性能和mysql數(shù)據(jù)庫性能的.工具,和找出瓶頸的方法。
2.10 正則提出一個網(wǎng)頁中的所有鏈接.
2.11 介紹一下常見的SSO(單點登陸)方案(比如dedecms整合discuz的passport)的原理。
2.12 您寫過的PHP框架的特點,主要解決什么問題,與其他框架的不同點。
2.13 大型的論壇/新聞文章系統(tǒng)/SNS網(wǎng)站在性能優(yōu)化上有什么區(qū)別?
2.14 相冊類應用:要求在瀏覽器中能同時選中并上傳多個文件,圖片要求能剪裁,壓縮包在服務器端解壓。能上傳單個達50M的文件。上傳過程中有進度條顯示。每個圖片能生成四種大小縮略圖,視頻文件要轉成flv供flash播放。敘述要涉及的各類開源軟件和簡單用途。
一群猴子排成一圈,按1,2,…,n依次編號。然后從第1只開始數(shù),數(shù)到第m只,把它踢出圈,從它后面再開始數(shù),再數(shù)到第m只,在把它踢出去…,如此不停的進行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n, 輸出最后那個大王的編號。用程序模擬該過程。
二. unix/linux 基本使用
3.1 linux下查看當前系統(tǒng)負載信息的一些方法。
3.2 vim的'基本快捷鍵。
3.3 ssh 安全增強方法;密碼方式和rsa key 方式的配置。
3.4 rpm/apt/yum/ports 裝包,查詢,刪除的基本命令。
3.5 Makefile的基本格式,gcc 編譯,連接的命令,-O0 和-O3區(qū)別。
3.6 gdb,strace,valgrind的基本使用.
三. 前端,HTML,JS
css盒模型。
javascript中的prototype。
javascript中this對象的作用域。
IE和firefox事件冒泡的.不同。
什么是怪異模式,標準模式,近標準模式。
DTD的定義
IE/firefox常用hack.
firefox,IE下的前端js/css調試工具。
四.如何理解 ThinkPHP 3.0 架構三(核心 + 行為 + 驅動)中的行為?
核心 + 行為 + 驅動
TP官方簡稱為:CBD
這個問題,在TP手冊中已經有委詳細地闡述了。。
核心(Core):就是框架的核心代碼,不可缺少的東西,TP本身是基于MVC思想開發(fā)的框架。
行為(Behavior) :行為在新版ThinkPHP的架構里面起著舉足輕重的作用,在系統(tǒng)核心之上,設置了很多標簽擴展位,而每個標簽位置可以依次執(zhí)行各自的獨立行為。行為擴展就因此而誕生了,而且很多系統(tǒng)功能也是通過內置的行為擴展完成的,所有行為擴展都是可替換和增加的,由此形成了底層框架可組裝的基礎。
驅動( Driver ):數(shù)據(jù)庫驅動、緩存驅動、標簽庫驅動和模板引擎驅動,以及外置的類擴展。
最好就是下載一份文檔下來看,基本上TP里面所有的功能,都會有很詳細的描述和范例講解。
框架,即framework。其實就是某種應用的半成品,就是一組組件,供你選用完成你自己的系統(tǒng)。簡單說就是使用別人搭好的舞臺,你來做表演。而且,框架一般是成熟的,不斷升級的軟件。
為什么要用框架?
因為軟件系統(tǒng)發(fā)展到今天已經很復雜了,特別是服務器端軟件,設計到的知識,內容,問題太多。在某些方面使用別人成熟的框架,就相當于讓別人幫你完成一些基礎工作,你只需要集中精力完成系統(tǒng)的業(yè)務邏輯設計。而且框架一般是成熟,穩(wěn)健的,他可以處理系統(tǒng)很多細節(jié)問題,比如,事物處理,安全性,數(shù)據(jù)流控制等問題。還有框架一般都經過很多人使用,所以結構很好,所以擴展性也很好,而且它是不斷升級的,你可以直接享受別人升級代碼帶來的好處。
框架一般處在低層應用平臺(如java 里的 J2EE)和高層業(yè)務邏輯之間的中間層。
ThinkPHP是一個開源的PHP框架, 是為了簡化企業(yè)級應用開發(fā)和敏捷WEB應用開發(fā)而誕生的
原名FCS,2007年元旦正式更名為ThinkPHP,并且遵循Apache2開源協(xié)議發(fā)布。早期的`思想架構來源于Struts,后來經過不斷改進和完善,同時也借鑒了國外很多優(yōu)秀的框架和模式,使用面向對象的開發(fā)結構和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(標簽庫)、RoR的ORM映射和 ActiveRecord模式,封裝了CURD和一些常用操作,單一入口模式等,在模版引擎、緩存機制、認證機制和擴展性方面均有獨特的表現(xiàn)
使用ThinkPHP,你可以更方便和快捷的開發(fā)和部署應用,當然不僅僅是企業(yè)級應用,任何PHP應用開發(fā)都可以從ThinkPHP的簡單、兼容和快速的特性中受益。簡潔、快速和實用是ThinkPHP發(fā)展秉承的宗旨,為此ThinkPHP會不斷吸收和融入更好的技術以保證其新鮮和活力,提供WEB應用開發(fā)的最佳實踐!
作為一個整體開發(fā)解決方案,ThinkPHP能夠解決應用開發(fā)中的大多數(shù)需要,因為其自身包含了底層架構、兼容處理、基類庫、數(shù)據(jù)庫訪問層、模板引擎、緩存機制、插件機制、角色認證、表單處理等常用的組件,并且對于跨版本、跨平臺和跨數(shù)據(jù)庫移植都比較方便。并且每個組件都是精心設計和完善的,應用開發(fā)過程僅僅需要關注您的業(yè)務邏輯。
【PHP程序員要掌握的知識點】相關文章:
PHP程序員掌握基本概念有哪些技術06-07
php程序員11-01
php要學哪些09-20
PHP入門需要掌握的幾種功能代碼10-25
php關于PHP上傳入門學習知識點07-20
php面試備考知識點08-04
php編程語言入門需要掌握哪些知識05-12
優(yōu)秀的PHP程序員是怎樣練成的08-02
PHP工程師應該掌握的知識結構07-27
PHP程序員常見的40個陋習08-15