一、寫一個函數,獲取一篇文章內容中的全部圖片,并下載
成都創新互聯公司專注于企業營銷型網站建設、網站重做改版、涇源網站定制設計、自適應品牌網站建設、html5、商城網站建設、集團公司官網建設、外貿網站制作、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為涇源等各大城市提供網站開發制作服務。
二、什么是 CSRF 攻擊?XSS 攻擊?如何防范?
CSRF:跨站請求偽造,可以通過通過判斷來源和加 Token 的方式來防范。
XSS:跨站腳本攻擊,可以通過對內容轉義和過濾來防范,還有 CSP
三、應用中我們經常會遇到在 user 表隨機調取 10 條數據來展示的情況,簡述你如何實現該功能。
四、MYSQL 中主鍵與唯一索引的區別
主鍵:絕對不能有空值。唯一索引:可以有空值
五、http 與 https 的主要區別
關鍵是 S 上。簡而言之,https 建立連接后要先把 SSL 的證書發下去,有了公鑰和私鑰,就可以解密了。
六、兩臺 mysql 服務器,其中一臺掛了,怎么讓業務端無感切換,并保證正常情況下講臺服務器的數據是一致的
不是核心業務的話,先停寫,把備機拉起來,查看兩臺機器的日志,進行數據補償,開寫。
如果是核心業務的話,現在所有的操作都在正常的狀態機器上。把好的這臺機器的備機拉起來,當主機。
以上全是應急操作。實際上數據庫的容災設計要復雜得多。
面試官要是問你,備機的數據不一致怎么辦,你要勇敢懟回去,你們每秒多少寫入操作。按照百萬級表,每秒 1000 的寫入效率,正常的設計是,分布在 2 臺機器上每臺 500。這個級別的數據同步,出現差異的概率 可以忽略不計的。有一臺出現問題,另一臺也可以抗住。
(正常的操作,還是先停寫,等數據一致,切換,開寫。我們公司搞這些切換都是在凌晨 4.00 左右,核心業務的每秒寫操作,只有十幾個。前后耽擱不到 20 秒)。
七、10 瓶水,其中一瓶有毒,小白鼠喝完有毒的水之后,會在 24 小時后死亡,問:最少用幾只小白鼠可以在 24 小時后找到具體是哪一瓶水有毒。
答案:四只
二進制問題。薛定諤的老鼠。
一只老鼠有兩個狀態,死活,對應 01。假設老鼠的個數為 A,則有 2^A=10; A=4;
思路很簡單,十瓶藥編號:0,1,10,11….1001;
0 不喝。第一只老鼠喝所有個位是 1 的:13579,第二只喝十位是 1 的,第三只和百位是 1 的,第四只喝千位是 1 的。
24 小時后,看下死了的是 1,活著的是 0。按老鼠的順序乖乖站好…… 假如第一只和第三只死了,那就是 0101,就是 5 有問題。
1,
var x=document.getElementById("img1");
var title=document.getElementById("img1").title;
var sina_title=document.getElementById("img1").sina_title;
2,serialize(),unserialize();
3,編碼方式不同,urlencode()將字串以URL編碼。例如空格就會變成加號。
rawurlencode()將url編碼成url的字符串專用格式,特殊字符回轉換成百分號后面加兩個十六子介數字的格式。
4,strip_tags(),html_entity_decode();
5,$str=preg_replace("/\script.*\.*\\/script\/i","",$str);
6,左連接,左連接的表如果沒有匹配的數據不影響結果。
7
SELECT name,score FROM tl_user LEFT JOIN tl_score ON tl_user.ID=tl_score.ID
7 system(),exec(),passthru()
8,json_decode ,json_encode
9 isset() empty()
10 后者的權限大于前者,后者是OFF的話,前者就算是E-ALL也沒用。
11,$_SERVER['REMOTE_ADDR'];
12,incov()
echo iconv("gbk",""UTF-8,"我們");
mb_convert_encoding($str, "GBK", "UTF-8")
13 explode() split() ;implode() join()
14 注意事項挺多的,懶得寫。
二
1,超時,服務器已經關閉連接
2 靜態表字段長度固定,自動填充,讀寫速度很快,便于緩存和修復,但比較占硬盤,動態表是字段長度不固定,節省硬盤,但更復雜,容易產生碎片,速度慢,出問題后不容易重建。
3InnoDB和MyISAM是在使用MySQL最常用的兩個表類型,各有優缺點,視具體應用而定。基本的差別為:MyISAM類型不支持事務處理等高級處理,而InnoDB類型支持。MyISAM類型的表強調的是性能,其執行數度比InnoDB類型更快,但是不提供事務支持,而InnoDB提供事務支持已經外部鍵等高級數據庫功能。
MyIASM是IASM表的新版本,有如下擴展:
二進制層次的可移植性。
NULL列索引。
對變長行比ISAM表有更少的碎片。
支持大文件。
更好的索引壓縮。
更好的鍵嗎統計分布。
更好和更快的auto_increment處理。
1.MySQL最大的優勢在于MyISAM引擎下的簡單SELECT,INSERT和UPDATE快速操作
2.MyISAM類型的數據文件可以在不同操作系統中COPY,這點很重要,布署的時候方便點。
以下是一些細節和具體實現的差別:
1.InnoDB不支持FULLTEXT類型的索引。
2.InnoDB 中不保存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出保存好的行數即可。注意的是,當count(*)語句包含 where條件時,兩種表的操作是一樣的。
3.對于AUTO_INCREMENT類型的字段,InnoDB中必須包含只有該字段的索引,但是在MyISAM表中,可以和其他字段一起建立聯合索引。
4.DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。
5.LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導入數據后再改成InnoDB表,但是對于使用的額外的InnoDB特性(例如外鍵)的表不適用。
另外,InnoDB表的行鎖也不是絕對的,如果在執行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表,例如update table set num=1 where name like “%aaa%”
以暫對存儲引擎的認識,覺得 InnoDB 支持外鍵,在數據量可以用“龐大”來形容時,在有良好的 INDEX 的基礎上,InnoDB 的查詢速度應該比 MyISAM 要快。
在 Falcon 有穩定版本前,我想 MyISAM 是一個可用的選擇方案。
任何一種表都不是萬能的,只用恰當的針對業務類型來選擇合適的表類型,才能最大的發揮MySQL的性能優勢
3, 都是1 ^^懶得回答了,睡覺去。
高并發大訪問量的mysql優化,服務器優化?
字段建索引、主從數據庫、讀寫分離、表分區、負載均衡。
linux的慢查詢日志會記錄mysql的超時查詢sql語句,定期察看進行優化。
2.大訪問量下秒殺模塊程序怎么設計,如果使用mysql會有多賣的情況,就是訂單超過庫存。
將訂單數據緩存到內存,如果用數據庫直接崩掉,毫無懸念的。
3.緩存的使用
能用靜態的用靜態,不能靜態的用內存緩存,例如memcache、redis,不能緩存的用數據庫。
4.session可不可以跨域?怎么跨域?
將PHP session機制重寫(PHP提供),將session存儲在memcache或者數據庫就可以跨域了。
另外session能以三種方式存儲,文件、數據庫、緩存。
5.了不了解非關系型數據庫?
mongodb
6.會不會寫shell腳本以及linux的操作
還會問一下時下流行的東西,比如做沒做過微信開發,例如微信支付開發、APP移動開發,等等問題。
問的核心東西都是圍繞這些轉的,如果有筆試會讓你寫sql,php功能(例如冒泡排序等排序),還有邏輯題。
我當初面試了很多,這是一個我的面試經驗的總結,純手打忘采納。
當前名稱:php數據類型面試問題 php數據類型面試問題有哪些
文章來源:http://m.newbst.com/article40/ddshcho.html
成都網站建設公司_創新互聯,為您提供、網站改版、網站建設、外貿建站、ChatGPT、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯