1囚似、PHP 語言的一大優(yōu)勢是跨平臺(tái)剩拢,什么是跨平臺(tái)?
PHP 的運(yùn)行環(huán)境最優(yōu)搭配為 Apache+MySQL+PHP饶唤,此運(yùn)行環(huán)境可以在不同操作系統(tǒng)(例如 windows徐伐、Linux 等)上配置,不受操作系統(tǒng)的限制搬素,所以叫跨平臺(tái)
2呵晨、WEB 開發(fā)中數(shù)據(jù)提交方式有幾種?有什么區(qū)別熬尺?百度使用哪種方式摸屠?
Get 與 post 兩種方式
區(qū)別:
(1)url 可見性:get 方式 url 參數(shù)可見,post 不可見
(2)可緩存性:get 方式是可以緩存的粱哼,post 方式不可以緩存季二。
(3)傳輸數(shù)據(jù)大小:get 一般傳輸數(shù)據(jù)大小不超過 2k-4k(根據(jù)瀏覽器不同揭措,限制不一樣胯舷,但相差不大);post 請求傳輸數(shù)據(jù)的大小根據(jù) php.ini 配置文件設(shè)定绊含,也可以無限大桑嘶。
(4)數(shù)據(jù)傳輸上:get 方式通過 url 地址欄拼接參數(shù)進(jìn)行傳輸,post 方式通過 body 體進(jìn)行傳輸躬充。
建議:
1逃顶、get 式安全性較 Post 式要差些包含機(jī)密信息建議用 Post 數(shù)據(jù)提交式;
2充甚、做數(shù)據(jù)查詢建議用 Get 式以政;做數(shù)據(jù)添加、修改或刪除建議用 Post 方式伴找;
3 丶百度使用的 get 方式盈蛮,因?yàn)榭梢詮乃?URL 中看出
3、掌握 PHP 的哪些框架技矮、模板引擎抖誉、系統(tǒng)等
框架:框架有很多殊轴,例如 CI、Yii寸五、Laravel 等等梳凛,咱們學(xué)過的是 thinkphp
模板引擎:也有很多,在課本中有梳杏,咱們學(xué)過的是 smarty
系統(tǒng):有很多韧拒,例如:康盛的產(chǎn)品(uchome、supesite十性、discuzX 等)叛溢,帝國系統(tǒng)、DEDE(織夢)劲适、ecshop 等楷掉,咱們學(xué)過的是 DEDECMS、Ecshop
4霞势、說一下你所掌握的網(wǎng)頁前端技術(shù)有哪些烹植?
熟練掌握 DIV+CSS 網(wǎng)頁布局,JavaScript愕贡,jQuery 框架草雕、photoshop 圖片處理
5、AJAX 的優(yōu)勢是什么固以?
ajax 是異步傳輸技術(shù)墩虹,可以通過 javascript 實(shí)現(xiàn),也可以通過 JQuery 框架實(shí)現(xiàn)憨琳,實(shí)現(xiàn)局部刷新诫钓,減輕了服務(wù)器的壓力,也提高了用戶體驗(yàn)篙螟。
6菌湃、安全對一套程序來說至關(guān)重要,請說說在開發(fā)中應(yīng)該注意哪些安全機(jī)制遍略?
(1)使用驗(yàn)證碼防止注冊機(jī)灌水慢味。
(2)使用預(yù)處理,綁定參數(shù)墅冷,參數(shù)過濾轉(zhuǎn)義 防止 sql 注入
(3)使用 token 防止遠(yuǎn)程提交,使用 token 驗(yàn)證登錄狀態(tài)或油。
7寞忿、在程序的開發(fā)中,如何提高程序的運(yùn)行效率顶岸?
(1)優(yōu)化 SQL 語句腔彰,查詢語句中盡量不使用 select *叫编,用哪個(gè)字段查哪個(gè)字段;少用子查詢可用表連接代替霹抛;少用模糊查詢搓逾。
(2)數(shù)據(jù)表中創(chuàng)建索引。
(3)對程序中經(jīng)常用到的數(shù)據(jù)生成緩存(比如使用 redis 緩存數(shù)據(jù)杯拐,比如使用 ob 進(jìn)行動(dòng)態(tài)頁面靜態(tài)化等等)霞篡。
(4)對 mysql 做主從復(fù)制,讀寫分離端逼。(提高 mysq 執(zhí)行效率和查詢速度)
(5)使用 nginx 做負(fù)載均衡朗兵。(將訪問壓力平均分配到多態(tài)服務(wù)器)
8、PHP 可否與其它的數(shù)據(jù)庫搭配使用顶滩?
PHP 與 MYSQL 數(shù)據(jù)庫是最優(yōu)搭配余掖,當(dāng)然 PHP 也可以去其它的數(shù)據(jù)庫搭配使用,例如 PostgreSql礁鲁,SqlServer盐欺,Oracle,SqlLite 等仅醇。
9冗美、現(xiàn)在編程中經(jīng)常采取 MVC 三層結(jié)構(gòu),請問 MVC 分別指哪三層着憨,有什么優(yōu)點(diǎn)墩衙?
MVC 三層分別指:業(yè)務(wù)模型、視圖甲抖、控制器漆改,由控制器層調(diào)用模型處理數(shù)據(jù),然后將數(shù)據(jù)映射到視圖層進(jìn)行顯示准谚。
優(yōu)點(diǎn)是:
①可以實(shí)現(xiàn)代碼的重用性挫剑,避免產(chǎn)生代碼冗余;
②M 和 V 的實(shí)現(xiàn)代碼分離柱衔,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式
10樊破、對 json 數(shù)據(jù)格式的理解?
JSON (JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式唆铐,json 數(shù)據(jù)格式固定哲戚,可以被多種語言用作數(shù)據(jù)的傳遞。
PHP 中處理 json 格式的函數(shù)為 json_decode (string $json [, bool $assoc] ) 艾岂,接受一個(gè) JSON 格式的字符串并且把它轉(zhuǎn)換為 PHP 變量顺少,參數(shù) json 待解碼的 json string 格式的字符串。assoc 當(dāng)該參數(shù)為 TRUE 時(shí),將返回 array 而非 object脆炎;
Json_encode:將 PHP 變量轉(zhuǎn)換成 json 格式梅猿。
11、Print秒裕、echo袱蚓、print_r 有什么區(qū)別?
(1) echo 和 print 都可以做輸出几蜻,不同的是喇潘,echo 不是函數(shù),沒有返回值入蛆,而 print 是一個(gè)函數(shù)有返回值响蓉,所以相對而言如果只是輸出 echo 會(huì)更快,而 print_r 通常用于打印變量的相關(guān)信息哨毁,通常在調(diào)試中使用枫甲。
(2) print 是打印字符串
(3)print_r 則是打印復(fù)合類型 如數(shù)組 對象
12、SESSION 與 COOKIE 的區(qū)別扼褪?
(1)存儲(chǔ)位置:session 存儲(chǔ)于服務(wù)器想幻,cookie 存儲(chǔ)于瀏覽器
(2)安全性:session 安全性比 cookie 高
(3)session 為‘會(huì)話服務(wù)’,在使用時(shí)需要開啟服務(wù)话浇,cookie 不需要開啟脏毯,可以直接用
13、PHP 處理數(shù)組的常用函數(shù)幔崖?(重點(diǎn)看函數(shù)的‘參數(shù)’和‘返回值’)
(1)array () 創(chuàng)建數(shù)組
(2)in_array () 判斷元素是否在數(shù)組中
(3)count () 返回?cái)?shù)組中元素的數(shù)目
(4)array_merge () 將多個(gè)數(shù)組合并成一個(gè)數(shù)組
(5)array_diff () 比較兩個(gè)或兩個(gè)以上數(shù)組的差異
(6)array_intersect () 獲取兩個(gè)或兩個(gè)數(shù)組以上的交集
(7)array_keys () 獲取數(shù)組的 key 列表
(8)array_values () 獲取數(shù)組的值列表
(9)array_unique () 刪除數(shù)組中的重復(fù)值
(10)array_push () 將一個(gè)或多個(gè)元素插入數(shù)組的末尾(入棧)
(11)array_pop () 彈出并返回 array 數(shù)組的最后一個(gè)單元(出棧)
(12)array_walk () 使用用戶自定義函數(shù)對數(shù)組中的每個(gè)元素做回調(diào)處理
14食店、PHP 處理字符串的常用函數(shù)?(重點(diǎn)看函數(shù)的‘參數(shù)’和‘返回值’)
(1)trim () 移除字符串兩側(cè)的空白字符和其他字符赏寇;
(2)strlen () 獲取字符串的長度
(3)mb_strlen () 獲取字符串長度(可指定字符編碼吉嫩,對中文字符串計(jì)算長度)
(4)substr () 返回字符串的一部分;
(5)str_replace () 子字符串替換
(6)str_repeat () 重復(fù)一個(gè)字符串
(7)is_string () 檢測變量是否是字符串嗅定;
(8)str_shuffle () 隨機(jī)打亂一個(gè)字符串
(9)sprintf () 返回根據(jù)格式化字符串生成的字符串(通常用于獲取分表后的數(shù)據(jù)表名)
(10)strstr () 查找字符串的首次出現(xiàn)
(11)addslashes 使用反斜線引用字符串
15自娩、PHP 處理時(shí)間的常用函數(shù)?(重點(diǎn)看函數(shù)的‘參數(shù)’和‘返回值’)
(1)date () 格式化一個(gè)本地時(shí)間/日期渠退。
(2)getdate () 取得日期/時(shí)間信息忙迁。
(3)date_default_timezone_set () 設(shè)定默認(rèn)時(shí)區(qū)。
(4)date_default_timezone_get () 返回默認(rèn)時(shí)區(qū)碎乃。
(5)mktime () 返回一個(gè)日期的 Unix 時(shí)間戳姊扔。
(6)strtotime () 將任何字符串的日期時(shí)間描述解析為 Unix 時(shí)間戳
(7)strftime () 根據(jù)區(qū)域設(shè)置格式化本地時(shí)間/日期
16、PHP 處理數(shù)據(jù)庫的常用函數(shù)梅誓?(重點(diǎn)看函數(shù)的‘參數(shù)’和‘返回值’)
請參照 php 手冊旱眯,認(rèn)真查看,此項(xiàng)非常重要
17、PHP 操作文件的常用函數(shù)删豺?(重點(diǎn)看函數(shù)的‘參數(shù)’和‘返回值’)
(1)打開文件 fopen ()
(2)讀取文件 fgets () ; 注:file_get_contents () 也是讀取文件
(3)寫入文件 fwrite () ; 注:file_put_contents () 同樣可以寫入文件
(4)關(guān)閉文件句柄 fclose ()
(5)移動(dòng) / 重命名文件 rename ()
(6)復(fù)制文件 copy ()
(7)創(chuàng)建文件 vim 或 touch
(8)刪除文件 unlink ()
(9)獲取文件上次訪問的時(shí)間 fileatime ()
(10)獲取文件上次修改的時(shí)間 filemtime ()
(11)獲取文件大小 filesize ()
(12)獲取文件類型 filetype ()
(13)獲取文件詳細(xì)信息 state ()
(14)判斷是否是目錄 is_dir ()
18、PHP 操作目錄(文件夾)的常用函數(shù)愧怜?(重點(diǎn)看函數(shù)的‘參數(shù)’和‘返回值’)
(1)打開目錄 opendir ()
(2)讀取目錄 readdir ()
(3)刪除目錄 rmdir ()
(4)關(guān)閉目錄句柄 closedir ()
(5)創(chuàng)建目錄 mkdir ()
(6)返回路徑中的目錄部分 dirname ()
(7)取得當(dāng)前工作目錄 getcwd ()
(8)列出指定路徑中的文件和目錄 scandir ()
很多人在剛接觸這個(gè)行業(yè)的時(shí)候或者是在遇到瓶頸期的時(shí)候呀页,總會(huì)遇到一些問題,比如學(xué)了一段時(shí)間感覺沒有方向感拥坛,不知道該從那里入手去學(xué)習(xí)蓬蝶,對此我整理了一些資料,需要的可以免費(fèi)分享給大家(點(diǎn)擊此處加入php高級(jí)交流群一起學(xué)習(xí)交流猜惋,11年架構(gòu)師帶你解讀年薪50萬面試通關(guān)秘籍丸氛。)
更多學(xué)習(xí)內(nèi)容請?jiān)L問:
騰訊T3-T4標(biāo)準(zhǔn)精品PHP架構(gòu)師教程目錄大全,只要你看完保證薪資上升一個(gè)臺(tái)階(持續(xù)更新)
推薦視頻:
PHP高級(jí)開發(fā)工程師簡歷打造著摔,祝你金三銀四跳槽加薪