国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

2019春招PHP面試題(附答案)

2020-03-22 17:55:33
字體:
來源:轉載
供稿:網友

2019春招PHP面試題(附答案)

IT生涯 2019-05-23 20:33:44

一. 基礎

1, session和cookie的區別

Session是在服務端保存的一個數據結構,用來跟蹤用戶 的狀態,這個數據可以保存在集群、數據庫、文件中

Cookie是客戶端保存用戶信息的一種機制,用來記錄用戶的一些信息,也是實現Session的 一種方式。

2, PHP7用了嗎,了解哪些新特性

PHP7在性能方面實現跨越式的提升,新的操作符,統一變量語法等等

3, 魔術變量

問了__dir__代表的含意,這個是回答文件所在的目錄

4, 魔術方法

這算是經常會問到的一個題目了,常用的都記得,忽然問到__invoke()就懵了

__construct(), __destruct(), __call(), __callStatic() , __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo()

二. 數據結構和算法

1, 棧數據結構

只要能用代碼實現出棧數據結構即可

2, 冒泡排序

只要能用代碼實現出冒泡排序即可

3, 完全二叉樹和滿二叉樹的區別

只有最下面的兩層結點度能夠小于2,并且最下面一層的結點都集中在該層最左邊的 若干位置的二叉樹才為完全二叉樹

而一棵深度為h且有 2^h-1個結點的二叉樹即為 滿二叉樹

三. 架構相關

1, Laravel和ThinkPHP有什么區別,對于laravel有什么要吐槽的

我從路由,中間件到控制器,數據訪問,視圖等層面上介紹了不同

吐槽的話可能相對于一些項目,laravel有點‘重’

2, 有用composer發布過自己的包嗎? (基于 Composer 的 PHP 模塊化開發)

我回答沒有,只是了解過

面試官就說他們的框架是自己在 Discuz的基礎上二次開發的框架,在他優秀的基礎上把composer依賴管理也都引進blabla

3, 談談對于MVC的理解

結合項目說明模板,視圖,控制器之間的關系和基本的構成

四. 防護

1, XSS 跨站腳本攻擊

2, DDOS 流量攻擊

3, CSRF 跨站請求偽造攻擊

4, SQL注入

在前端表單用戶輸入進行控制或限制

有后端傳參數和數據時進行過濾等等

五. 項目

1, 在項目中如何解決并發的問題

我的解決辦法先是前端控制有效請求,例如一分鐘才正常請求一次

接著 后端同樣過慮無效請求,接著接操作放進隊列中實現

有個面試官問,你這個隊列是阻塞的嗎,如果真的同時兩個用戶購買,兩個用戶等待 完成,他們還是用同一個線程完成,有沒有考慮 用其它方式實現

我說無,他就說可 以用鎖的機制,第二個等待第一個完成,一個接一個

2, 微信支付具體實現流程

1. H5頁面發起支付請求,請求生成支付訂單

2. 調用統一下單API,生成預付單

3. 生成JSAPI頁面調用的支付參數并簽名

4. 微信瀏覽器自動調起支付 JSAPI接口支付

5. 確認支付

6. 異步通 知商戶支付結果,商戶收到通知返回確認信息

7. 返回支付結果,展 示支付信息給用戶

3, 簡單實現登錄注冊功能

各個框架考慮的方面不一樣,這就按自己的理解寫出相應的代碼就好

4, 如何設計一個商城

我是先給自己限定了一個B2C的商城,然后從數據表開始,接著簡單 介紹前端和后端實現邏輯

MYSQL

mysql優化基本是重中之重了,尤其考驗技術

一. 基礎

1, InnoDB和MyISAM有什么區別

InnoDB提供事務處理,行級鎖,支持外鍵,支持多種行格式

MyISAM只支持表級鎖,全文索引,堆表

2, 事務有哪幾個特性

原子性、一致性、隔離性、持久性

3, 事務的隔離級別

未提交讀、已提交讀、可重復讀、可串行化

4, 有個表字段的O_Id,OrderDate,OrderPrice,Customer這幾個,我們希望查找訂單總 金額少于 2000 的客戶

SELECT Customer,SUM(OrderPrice) FROM

Orders

GROUP BY Customer

HAVING SUM(OrderPrice)<2000

5, 查詢學生表的數據,大于六十的為及格,反之不及格

select 分數,類別=Case

WHEN 分數 >=60 THEN '及格'

ELSE '不及格 '

END

from 成績表

6, 查詢沒有學完所有課程的學生學號、姓名

SELECT a.SNO ,a.SNAME

FROM student a

WHERE a.`SNO` NOT IN

( SELECT b.`SNO` FROM SC b

GROUP BY b.`SNO` HAVING COUNT(*) =

( SELECT COUNT(*) FROM course)

);

二. 優化

1, "select * from student where name='red'","select * from student where name='blue'",優化語句

select name from student where

name='red'

union

select

name from student where name='blue'

如果用or條件, myisam表能用到索引, innodb不行。

innodb用UNION替換OR (適用于索引列)

2, 你一般都會怎么優化數據庫

查詢緩存、EXPLAIN、(聯合)索引、使用固定長度靜態表

服務器

一. 防護

服務器怎么做防護

僅開放有限端口,限制登錄IP,限制登錄帳號

也是可以定一本書的問題,可以根據項目回答

二. 協議

Get和Post有什么區別

Get的參數包含在URL,GET請求會被瀏覽器主動cache,是url編碼, 有字符限制參數為ASCII字符

Post 通過request body傳遞參數,且 有多種編碼方式

三. NginX

設置nginx時php腳本請求是讓什么處理

默認配置的是轉發到FastCGI處理

四. Redis

1、你用redis來緩存什么數據

跟據項目來說自己緩存的一些經常要用到的數據

2、Redis怎么做持久化,配置哪種刷新頻率

配置aof持久化,用默認的每秒刷新aof文件

3、Redis是多線程嗎

單線程(我竟然回答是多線程,233)

4、Redis怎么配置一主多從,要多久

可以用Redis官方集群方案,具體沒有實踐過,可能要花幾周時間來 完成

五. 代碼管理

有用過git嗎?當兩個人提交了錯誤代碼后,怎么解決

用過git提交代碼,發生這種情況可以先將遠程的代碼git pull到本 地,然后將沖突的代碼或Git標記內容修改正確,然后重新提交代碼


2019春招PHP面試題(附答案)

IT生涯 2019-05-23 20:33:44

一. 基礎

1, session和cookie的區別

Session是在服務端保存的一個數據結構,用來跟蹤用戶 的狀態,這個數據可以保存在集群、數據庫、文件中

Cookie是客戶端保存用戶信息的一種機制,用來記錄用戶的一些信息,也是實現Session的 一種方式。

2, PHP7用了嗎,了解哪些新特性

PHP7在性能方面實現跨越式的提升,新的操作符,統一變量語法等等

3, 魔術變量

問了__dir__代表的含意,這個是回答文件所在的目錄

4, 魔術方法

這算是經常會問到的一個題目了,常用的都記得,忽然問到__invoke()就懵了

__construct(), __destruct(), __call(), __callStatic() , __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo()

二. 數據結構和算法

1, 棧數據結構

只要能用代碼實現出棧數據結構即可

2, 冒泡排序

只要能用代碼實現出冒泡排序即可

3, 完全二叉樹和滿二叉樹的區別

只有最下面的兩層結點度能夠小于2,并且最下面一層的結點都集中在該層最左邊的 若干位置的二叉樹才為完全二叉樹

而一棵深度為h且有 2^h-1個結點的二叉樹即為 滿二叉樹

三. 架構相關

1, Laravel和ThinkPHP有什么區別,對于laravel有什么要吐槽的

我從路由,中間件到控制器,數據訪問,視圖等層面上介紹了不同

吐槽的話可能相對于一些項目,laravel有點‘重’

2, 有用composer發布過自己的包嗎? (基于 Composer 的 PHP 模塊化開發)

我回答沒有,只是了解過

面試官就說他們的框架是自己在 Discuz的基礎上二次開發的框架,在他優秀的基礎上把composer依賴管理也都引進blabla

3, 談談對于MVC的理解

結合項目說明模板,視圖,控制器之間的關系和基本的構成

四. 防護

1, XSS 跨站腳本攻擊

2, DDOS 流量攻擊

3, CSRF 跨站請求偽造攻擊

4, SQL注入

在前端表單用戶輸入進行控制或限制

有后端傳參數和數據時進行過濾等等

五. 項目

1, 在項目中如何解決并發的問題

我的解決辦法先是前端控制有效請求,例如一分鐘才正常請求一次

接著 后端同樣過慮無效請求,接著接操作放進隊列中實現

有個面試官問,你這個隊列是阻塞的嗎,如果真的同時兩個用戶購買,兩個用戶等待 完成,他們還是用同一個線程完成,有沒有考慮 用其它方式實現

我說無,他就說可 以用鎖的機制,第二個等待第一個完成,一個接一個

2, 微信支付具體實現流程

1. H5頁面發起支付請求,請求生成支付訂單

2. 調用統一下單API,生成預付單

3. 生成JSAPI頁面調用的支付參數并簽名

4. 微信瀏覽器自動調起支付 JSAPI接口支付

5. 確認支付

6. 異步通 知商戶支付結果,商戶收到通知返回確認信息

7. 返回支付結果,展 示支付信息給用戶

3, 簡單實現登錄注冊功能

各個框架考慮的方面不一樣,這就按自己的理解寫出相應的代碼就好

4, 如何設計一個商城

我是先給自己限定了一個B2C的商城,然后從數據表開始,接著簡單 介紹前端和后端實現邏輯

MYSQL

mysql優化基本是重中之重了,尤其考驗技術

一. 基礎

1, InnoDB和MyISAM有什么區別

InnoDB提供事務處理,行級鎖,支持外鍵,支持多種行格式

MyISAM只支持表級鎖,全文索引,堆表

2, 事務有哪幾個特性

原子性、一致性、隔離性、持久性

3, 事務的隔離級別

未提交讀、已提交讀、可重復讀、可串行化

4, 有個表字段的O_Id,OrderDate,OrderPrice,Customer這幾個,我們希望查找訂單總 金額少于 2000 的客戶

SELECT Customer,SUM(OrderPrice) FROM

Orders

GROUP BY Customer

HAVING SUM(OrderPrice)<2000

5, 查詢學生表的數據,大于六十的為及格,反之不及格

select 分數,類別=Case

WHEN 分數 >=60 THEN '及格'

ELSE '不及格 '

END

from 成績表

6, 查詢沒有學完所有課程的學生學號、姓名

SELECT a.SNO ,a.SNAME

FROM student a

WHERE a.`SNO` NOT IN

( SELECT b.`SNO` FROM SC b

GROUP BY b.`SNO` HAVING COUNT(*) =

( SELECT COUNT(*) FROM course)

);

二. 優化

1, "select * from student where name='red'","select * from student where name='blue'",優化語句

select name from student where

name='red'

union

select

name from student where name='blue'

如果用or條件, myisam表能用到索引, innodb不行。

innodb用UNION替換OR (適用于索引列)

2, 你一般都會怎么優化數據庫

查詢緩存、EXPLAIN、(聯合)索引、使用固定長度靜態表

服務器

一. 防護

服務器怎么做防護

僅開放有限端口,限制登錄IP,限制登錄帳號

也是可以定一本書的問題,可以根據項目回答

二. 協議

Get和Post有什么區別

Get的參數包含在URL,GET請求會被瀏覽器主動cache,是url編碼, 有字符限制參數為ASCII字符

Post 通過request body傳遞參數,且 有多種編碼方式

三. NginX

設置nginx時php腳本請求是讓什么處理

默認配置的是轉發到FastCGI處理

四. Redis

1、你用redis來緩存什么數據

跟據項目來說自己緩存的一些經常要用到的數據

2、Redis怎么做持久化,配置哪種刷新頻率

配置aof持久化,用默認的每秒刷新aof文件

3、Redis是多線程嗎

單線程(我竟然回答是多線程,233)

4、Redis怎么配置一主多從,要多久

可以用Redis官方集群方案,具體沒有實踐過,可能要花幾周時間來 完成

五. 代碼管理

有用過git嗎?當兩個人提交了錯誤代碼后,怎么解決

用過git提交代碼,發生這種情況可以先將遠程的代碼git pull到本 地,然后將沖突的代碼或Git標記內容修改正確,然后重新提交代碼


鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆阳市| 顺昌县| 开化县| 滕州市| 什邡市| 丹阳市| 鹤山市| 阿瓦提县| 措美县| 抚顺市| 左贡县| 乾安县| 监利县| 瑞金市| 广东省| 贺州市| 东光县| 温州市| 界首市| 东光县| 望城县| 松滋市| 上虞市| 呼玛县| 鱼台县| 夏邑县| 沅陵县| 松江区| 鹤山市| 滨州市| 日喀则市| 永嘉县| 松溪县| 科技| 桐庐县| 莎车县| 通化市| 老河口市| 邻水| 济阳县| 龙江县|