1.若是系統作了負載均衡(或者代理),服務端如何準確得獲取用戶端的IP?php
答:在負載均衡服務器軟件
(nginx,apache,tomcat)添加X-Forwarded-For,簡稱XFF頭,它表明客戶端,也就是HTTP的請求端真實的IP,只有在經過了HTTP 代理或者負載均衡服務器時纔會添加該項。它不是RFC中定義的標準請求頭信息,在squid緩存代理服務器開發文檔中能夠找到該項的詳細介紹。html
相關網站:https://blog.csdn.net/ai_zxc/article/details/78891019前端
2.如何實現精準的定時任務?mysql
答:在Crontab中使用PHP執行腳本(或URL),其實方法不少,不過這個應該是比較好的。nginx
相關網站:https://www.jb51.net/article/89186.htmgit
3.mysql中,如何判斷一個字段是否建立索引?github
答:show index from 數據庫名.表名web
4.mysql中,如何判斷一個字段是否須要建立索引?redis
答:較頻繁地做爲查詢條件的字段sql
相關網站:https://www.jb51.net/article/56532.htm
5.常見的web漏洞,並說明出現的緣由和解決方案?
答:SQL注入漏洞、XSS、CSRF、上傳漏洞、未加密登陸請求 等等
相關網站:https://blog.csdn.net/qq_28061489/article/details/79572310,https://wenku.baidu.com/view/dbb0991afbd6195f312b3169a45177232f60e41c.html,https://blog.csdn.net/u013777676/article/details/52124298/
6.php中namespace的做用?
答:解決用戶編寫的代碼與PHP內部的類/函數/常量或第三方類/函數/常量之間的名字衝突。爲很長的標識符名稱(一般是爲了緩解第一類問題而定義的)建立一個別名(或簡短)的名稱,提升源代碼的可讀性。
相關網站:官網:http://php.net/manual/zh/language.namespaces.rationale.php,https://www.cnblogs.com/kuyuecs/p/3556421.html
7.列出redis支持的數據類型?
答:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
相關網站:http://www.runoob.com/redis/redis-data-types.html
8.列出php中類的自動加載相關的函數名?
答: __autoload() 和 spl_autoload_register()
相關網站:官網:http://php.net/manual/zh/language.oop5.autoload.php
9.統計一個字符串在另外一個字符串出現的次數?
答:
substr_count($haystack, $needle [,$offset [,$length]])
其中參數:
$haystack表示母字符串,$needl表示要查找的字符
$offset表示查找的起點,$length表示查找的長度,均爲可選參數
相關網站:https://www.jb51.net/article/58015.htm
10.列出HTTP狀態碼,並簡述意思,重小到大
答:1xx 消息;2xx 成功;3xx 重定向;4xx 請求錯誤;5xx服務器錯誤;(要注意下499,nginx的錯誤,多是時間超時,內存溢出)
相關網站:http://www.runoob.com/http/http-status-codes.html,https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin
11.若是後端有多臺服務器,如何處理session?
答:
第一種辦法:把原來存儲在服務器磁盤上的session數據存儲到客戶端的cookie中去(加密後後存在cookie中,前端不開cookie就悲劇了)。
第二種辦法:同一個用戶的訪問請求都被派送到同一個服務器上(某臺機子掛掉了,就不行了)。
第三種辦法:作一箇中間層,專門來存儲全部訪問涉及到的session。也就是全部的session都存儲在這裏。服務器端統一從這裏讀取session數據。(能夠保存在共享的文件服務器中、數據庫中(nosql爲好))
相關網站:https://www.cnblogs.com/wangtao_20/archive/2013/10/29/3395518.html
12.git的經常使用命令?
答:
git clone git://github.com/schacon/grit.git 從服務器上將代碼給拉下來
git checkout -b dev 創建一個新的本地分支dev
git branch 查看本地全部分支
git status 查看當前狀態
git pull 拉取
git commit 提交
git push (遠程倉庫名) (分支名) 將本地分支推送到服務器上去。
git log 看你commit的日誌
git add . 添加全部修改文件
git commit -m ‘修改內容’ 提交添加文件,並備註提交版本
git diff 查看修改文件列表
相關網站:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html,https://blog.csdn.net/halaoda/article/details/78661334
13.用php代碼去除HTML標籤方法?
答:strtr()和strip_tags()
14.php的運行方式有哪些?
答:
1)CGI(通用網關接口/ Common Gateway Interface)。
2)FastCGI(常駐型CGI / Long-Live CGI)。
3)CLI(命令行運行 / Command Line Interface)。
4)Web模塊模式(Apache、nginx、iis等Web服務器運行的模式) ,最經常使用的運行方式啦。
5)ISAPI(Internet Server Application Program Interface)微軟提供的一套面向Internet服務的API接口。
相關網站:https://blog.csdn.net/xujingzhong0077/article/details/53316767,https://blog.csdn.net/s465564/article/details/77224627
15.php鏈接數據庫的方式?
答:1)經常使用普通方法,mysql_connect()【 PHP 5.5.0 起已廢棄】;2)面向對象方法(也可面向過程)mysqli();3)PDO;3)ADODB
參考網站:https://blog.csdn.net/wd2011063437/article/details/79003477,https://www.cnblogs.com/joshua317/articles/5989781.html
16.簡述MySQL的InnoDB的四種事務隔離級別?
答:
一、讀不提交(Read Uncommited,RU)
這種隔離級別下,事務間徹底不隔離,會產生髒讀,能夠讀取未提交的記錄,實際狀況下不會使用。
二、讀提交(Read commited,RC)
本事務讀取到的是最新的數據(其餘事務提交後的)。問題是,在同一個事務裏,先後兩次相同的SELECT會讀到不一樣的結果(不重複讀)
三、可重複讀(Repeatable Read,RR)【MySQL 默認的級別】
在同一個事務裏,SELECT的結果是事務開始時時間點的狀態,所以,同一個事務一樣的SELECT操做讀到的結果會是一致的。可是,會有幻讀現象
四、 串行化(SERIALIZABLE)。讀操做會隱式獲取共享鎖,能夠保證不一樣事務間的互斥
參考網站:https://www.cnblogs.com/huanongying/p/7021555.html
17.如何參看當前的mysql的事務隔離級別?
答:mysql> show variables like '%isolation%';
18.oop是什麼?特色有哪些?
答:oop是面向對象編程。封裝、多態、繼承、易維護 。
19.接口安全方面是怎麼處理的?
答:RSA雙向加密,驗證參數後才執行。添加時間戳,處理的時候判斷時間,通常60秒,前端的請求加上時間戳,後臺將時間戳解密後與後臺的服務器做比較,時間差距超過60秒就不處理。
20.接口和抽象類的區別是什麼?
答:
接口:是經過關鍵字 interface 來聲明的,接口中的成員常量和方法都是 public 的,方法能夠不寫關鍵字public,接口中的方法也是沒有方法體。接口中的方法也天生就是要被子類實現的。
抽象類:是經過關鍵字abstract來聲明的,是一種不能被實例化的類,只能做爲其餘類的父類來使用。抽象類與普通類類似,都包含成員變量和成員方法,二者的區別在於,抽象類中至少要包含一個抽象方法,抽象方法沒有方法體,該方法天生就是要被子類重寫的。
區別:抽象類和接口實現的功能十分類似,在應用中選擇抽象類仍是接口要看具體實現。
1).對接口的繼承使用implements,抽象類使用extends.
2).接口中不能夠聲明變量,但能夠聲明類常量.抽象類中能夠聲明各類變量
3).接口沒有構造函數,抽象類能夠有
4).接口中的方法默認爲public,抽象類中的方法能夠用public,protected,private修飾
5).一個類能夠繼承多個接口,但只能繼承一個抽象類
參考網站:https://www.cnblogs.com/catcrazy/p/6289446.html
21.tcp/ip是什麼?
答:TCP(傳輸控制協議)和IP(網際協議),是兩個協議,可是一般會合在一塊兒說,由於他們要在一塊兒才能造成現有的或聯網底層。
22.udp是什麼?
答:UDP協議全稱是用戶數據報協議,在網絡中它與TCP協議同樣用於處理數據包,是一種無鏈接的協議。