1、PHP 語言的一大優勢是跨平臺,什么是跨平臺?
PHP 的運行環境最優搭配為 Apache+MySQL+PHP,此運行環境可以在不同作業系統(例如 windows、Linux 等)上配置,不受作業系統的限制,所以叫跨平臺
2、WEB 開發中資料提交方式有幾種?有什么區別?百度使用哪種方式?
Get 與 post 兩種方式
區別:
(1)url 可見性:get 方式 url 引數可見,post 不可見
(2)可快取性:get 方式是可以快取的,post 方式不可以快取,
(3)傳輸資料大小:get 一般傳輸資料大小不超過 2k-4k(根據瀏覽器不同,限制不一樣,但相差不大);post 請求傳輸資料的大小根據 php.ini 組態檔設定,也可以無限大,
(4)資料傳輸上:get 方式通過 url 地址欄拼接引數進行傳輸,post 方式通過 body 體進行傳輸,
建議:
1、get 式安全性較 Post 式要差些包含機密資訊建議用 Post 資料提交式;
2、做資料查詢建議用 Get 式;做資料添加、修改或洗掉建議用 Post 方式;
3 丶百度使用的 get 方式,因為可以從它的 URL 中看出
3、掌握 PHP 的哪些框架、模板引擎、系統等
框架:框架有很多,例如 CI、Yii、Laravel 等等,咱們學過的是 thinkphp
模板引擎:也有很多,在課本中有,咱們學過的是 smarty
系統:有很多,例如:康盛的產品(uchome、supesite、discuzX 等),帝國系統、DEDE(織夢)、ecshop 等,咱們學過的是 DEDECMS、Ecshop
4、說一下你所掌握的網頁前端技術有哪些?
熟練掌握 DIV+CSS 網頁布局,JavaScript,jQuery 框架、photoshop 圖片處理
5、AJAX 的優勢是什么?
ajax 是異步傳輸技術,可以通過 javascript 實作,也可以通過 JQuery 框架實作,實作區域重繪,減輕了服務器的壓力,也提高了用戶體驗,
6、安全對一套程式來說至關重要,請說說在開發中應該注意哪些安全機制?
(1)使用驗證碼防止注冊機灌水,
(2)使用預處理,系結引數,引數過濾轉義 防止 sql 注入
(3)使用 token 防止遠程提交,使用 token 驗證登錄狀態,
7、在程式的開發中,如何提高程式的運行效率?
(1)優化 SQL 陳述句,查詢陳述句中盡量不使用 select *,用哪個欄位查哪個欄位;少用子查詢可用表連接代替;少用模糊查詢,
(2)資料表中創建索引,
(3)對程式中經常用到的資料生成快取(比如使用 redis 快取資料,比如使用 ob 進行動態頁面靜態化等等),
(4)對 mysql 做主從復制,讀寫分離,(提高 mysq 執行效率和查詢速度)
(5)使用 nginx 做負載均衡,(將訪問壓力平均分配到多型服務器)
8、PHP 可否與其它的資料庫搭配使用?
PHP 與 MYSQL 資料庫是最優搭配,當然 PHP 也可以去其它的資料庫搭配使用,例如 PostgreSql,SqlServer,Oracle,SqlLite 等,
9、現在編程中經常采取 MVC 三層結構,請問 MVC 分別指哪三層,有什么優點?
MVC 三層分別指:業務模型、視圖、控制器,由控制器層呼叫模型處理資料,然后將資料映射到視圖層進行顯示,
優點是:
①可以實作代碼的重用性,避免產生代碼冗余;
②M 和 V 的實作代碼分離,從而使同一個程式可以使用不同的表現形式
10、對 json 資料格式的理解?
JSON (JavaScript Object Notation) 是一種輕量級的資料交換格式,json 資料格式固定,可以被多種語言用作資料的傳遞,
PHP 中處理 json 格式的函式為 json_decode (string $json [, bool $assoc] ) ,接受一個 JSON 格式的字串并且把它轉換為 PHP 變數,引數 json 待解碼的 json string 格式的字串,assoc 當該引數為 TRUE 時,將回傳 array 而非 object;
Json_encode:將 PHP 變數轉換成 json 格式,
11、Print、echo、print_r 有什么區別?
(1) echo 和 print 都可以做輸出,不同的是,echo 不是函式,沒有回傳值,而 print 是一個函式有回傳值,所以相對而言如果只是輸出 echo 會更快,而 print_r 通常用于列印變數的相關資訊,通常在除錯中使用,
(2) print 是列印字串
(3)print_r 則是列印復合型別 如陣列 物件
12、SESSION 與 COOKIE 的區別?
(1)存盤位置:session 存盤于服務器,cookie 存盤于瀏覽器
(2)安全性:session 安全性比 cookie 高
(3)session 為‘會話服務’,在使用時需要開啟服務,cookie 不需要開啟,可以直接用
13、PHP 處理陣列的常用函式?(重點看函式的‘引數’和‘回傳值’)
(1)array () 創建陣列
(2)in_array () 判斷元素是否在陣列中
(3)count () 回傳陣列中元素的數目
(4)array_merge () 將多個陣列合并成一個陣列
(5)array_diff () 比較兩個或兩個以上陣列的差異
(6)array_intersect () 獲取兩個或兩個陣列以上的交集
(7)array_keys () 獲取陣列的 key 串列
(8)array_values () 獲取陣列的值串列
(9)array_unique () 洗掉陣列中的重復值
(10)array_push () 將一個或多個元素插入陣列的末尾(入堆疊)
(11)array_pop () 彈出并回傳 array 陣列的最后一個單元(出堆疊)
(12)array_walk () 使用用戶自定義函式對陣列中的每個元素做回呼處理
14、PHP 處理字串的常用函式?(重點看函式的‘引數’和‘回傳值’)
(1)trim () 移除字串兩側的空白字符和其他字符;
(2)strlen () 獲取字串的長度
(3)mb_strlen () 獲取字串長度(可指定字符編碼,對中文字串計算長度)
(4)substr () 回傳字串的一部分;
(5)str_replace () 子字串替換
(6)str_repeat () 重復一個字串
(7)is_string () 檢測變數是否是字串;
(8)str_shuffle () 隨機打亂一個字串
(9)sprintf () 回傳根據格式化字串生成的字串(通常用于獲取分表后的資料表名)
(10)strstr () 查找字串的首次出現
(11)addslashes 使用反斜線參考字串
15、PHP 處理時間的常用函式?(重點看函式的‘引數’和‘回傳值’)
(1)date () 格式化一個本地時間/日期,
(2)getdate () 取得日期/時間資訊,
(3)date_default_timezone_set () 設定默認時區,
(4)date_default_timezone_get () 回傳默認時區,
(5)mktime () 回傳一個日期的 Unix 時間戳,
(6)strtotime () 將任何字串的日期時間描述決議為 Unix 時間戳
(7)strftime () 根據區域設定格式化本地時間/日期
16、PHP 處理資料庫的常用函式?(重點看函式的‘引數’和‘回傳值’)
請參照 php 手冊,認真查看,此項非常重要
17、PHP 操作檔案的常用函式?(重點看函式的‘引數’和‘回傳值’)
(1)打開檔案 fopen ()
(2)讀取檔案 fgets () ; 注:file_get_contents () 也是讀取檔案
(3)寫入檔案 fwrite () ; 注:file_put_contents () 同樣可以寫入檔案
(4)關閉檔案句柄 fclose ()
(5)移動 / 重命名檔案 rename ()
(6)復制檔案 copy ()
(7)創建檔案 vim 或 touch
(8)洗掉檔案 unlink ()
(9)獲取檔案上次訪問的時間 fileatime ()
(10)獲取檔案上次修改的時間 filemtime ()
(11)獲取檔案大小 filesize ()
(12)獲取檔案型別 filetype ()
(13)獲取檔案詳細資訊 state ()
(14)判斷是否是目錄 is_dir ()
18、PHP 操作目錄(檔案夾)的常用函式?(重點看函式的‘引數’和‘回傳值’)
(1)打開目錄 opendir ()
(2)讀取目錄 readdir ()
(3)洗掉目錄 rmdir ()
(4)關閉目錄句柄 closedir ()
(5)創建目錄 mkdir ()
(6)回傳路徑中的目錄部分 dirname ()
(7)取得當前作業目錄 getcwd ()
(8)列出指定路徑中的檔案和目錄 scandir ()
面試題系列:
2020最新PHP面試題(附帶答案)
分享一波騰訊PHP面試題
2019年PHP最新面試題(含答案)
Redis 高級面試題 學會這些還怕進不了大廠?
面試官三年經驗PHP程式員知識點匯總
php面試題之PHP核心技術
掌握 Redis這些 知識點,面試官一定覺得你很 NB
當面試官問你:如何進行性能優化?
PHP 經典面試題集
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/56981.html
標籤:PHP
上一篇:PHP 學習筆記
