1、 下面語句執(zhí)行的結(jié)果是:
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:成都網(wǎng)站建設、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的左云網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
A:1 2 3 4
B:1 1 3 4
C:1 2 3 3
D:1 2 3 5
E:以上都不是
答案:B
2、下面那些說法是錯誤的:
答案:A
3、array_shift()函數(shù)的作用是?
A 在數(shù)組中新增一個元素
B 移除數(shù)組中的一個元素
C 交換一個數(shù)組的key和value
D 清除一個數(shù)組
答案:B
4、你將使用下面哪個函數(shù)來刪除一個文件?
A unlink()
B delete()
C fdelete()
D: file_delete()
答案:A
5、請看代碼,數(shù)據(jù)庫關(guān)閉指令將關(guān)閉哪個鏈接標識?
A.$link1
B $link2
C 全部關(guān)閉
D 報錯
答案:B
//mysql_close() 關(guān)閉指定的連接標識所關(guān)聯(lián)的到 MySQL 服務器的連接。如果沒有指定 link_identifier,則關(guān)閉上一個打開的連接。
一、兩張表 city表和province表。分別為城市與省份的關(guān)系表。
表名:city
id City Provinceid
1 廣州 1
2 深圳 1
3 惠州 1
4 長沙 2
5 武漢 3
………. 廣州
表名稱:province:
id Province
1 廣東
2 湖南
3 湖北
……….
1、寫一條sql語句關(guān)系兩個表,實現(xiàn):顯示城市的基本信息。顯示字段:城市id ,城市名, 所屬省份 。
如:
Id(城市id) Cityname(城市名) Privence(所屬省份)
2、如果要統(tǒng)計每個省份有多少個城市,請用group by 查詢出來。顯示字段:省份id ,省份名,包含多少個城市。
二、主鍵 和外鍵表示什么?一般用于做什么?
主鍵:能夠唯一表示數(shù)據(jù)表中的每個記錄的字段或者字段的組合就稱為主鍵。一個主鍵是唯一識別一個表的每一行記錄,但這只是其作用的一療分,主鍵的主要作用是將記錄和存放在其他表中的數(shù)據(jù)進行關(guān)聯(lián),在這一點上,主鍵是不同表中各記錄間的簡單指針,主鍵約整就是確定表中的每一條記錄,主鍵不能是空值,唯一約束是用于指定一個或多個列的組合值具有唯一性,以防止在列中輸入重復的值,所以,主鍵的值對用戶而言是沒有什么意義,并且和它賦予的值也沒有什么特別聯(lián)系。
外鍵:若有兩個表A,B,C是A的主鍵,而B中也有C字段,則C就是表B的外鍵,外鍵約束主要用來維護兩個表之間數(shù)據(jù)的一致性。A為基本表,B為信息表。
在數(shù)據(jù)庫中,常常不只是一個表,這些表之間也不是相互獨立的,不同的表之間需要建立一種關(guān)系,才能將它們的數(shù)據(jù)相互溝通,而在這個溝通過程中,就需要表中有一個字段作為標志,不同的記錄對應的字段取值不能相同,也不能是空白的,通過這個字段中不同的值可以區(qū)別各條記錄,就像我們區(qū)別不同的人,每個人都有名字,但它卻不能作為主鍵,因為人名很容易出現(xiàn)重復,而身份證號是每個人都不同的,所以可以根據(jù)它來區(qū)別不同的人,數(shù)據(jù)庫的表中作為主鍵的段段就要像人的身份證號一樣,必須是每個記錄的值都不同,這才能根據(jù)
主鍵的值來確定不同的記錄。
關(guān)系:外鍵一定是另外某個表的主鍵。
三、select now(),Date_ADD(now(),INTERVAL 14 day),Date_SUB(now(),INTERVAL 3 Day) from table; 會獲得什么內(nèi)容,請寫出來。
會獲得三條數(shù)據(jù):
第一條:當前時間;
第二條:當前時間加上14天;
第三條:當前時間減去3天。
四、您所知道的MYSQL 數(shù)據(jù)庫備份,還原方式有哪幾種?
備份:
一,搭建主從架構(gòu),master-slave,通過binlog文件同步復制主庫的數(shù)據(jù),也可以直接通過binlog文件恢復數(shù)據(jù)。
二,通過系統(tǒng)計劃任務執(zhí)行mysqldump做周期性全備份。
三,物理備份,直接拷貝數(shù)據(jù)文件、參數(shù)文件、日志文件。
還原:
一.通過mysql操作工具,如phpmyadmin,sqlyog等導入備份過的數(shù)據(jù)庫文件。
二.將物理備份的文件拷貝到mysql的data目錄下
五、內(nèi)容管理系統(tǒng)中,表message有如下字段
id 文章id
title 文章標題
content 文章內(nèi)容
category_id 文章分類id
hits 點擊量
創(chuàng)建上表,寫出MySQL語句
六、同樣上述內(nèi)容管理系統(tǒng):表comment記錄用戶回復內(nèi)容,字段如下
comment_id 回復id
id 文章id,關(guān)聯(lián)message表中的id
comment_content 回復內(nèi)容
現(xiàn)通過查詢數(shù)據(jù)庫需要得到以下格式的文章標題列表,并按照回復數(shù)量排序,回復最高的排在最前面
文章id 文章標題 點擊量 回復數(shù)量
用一個SQL語句完成上述查詢,如果文章沒有回復則回復數(shù)量顯示0
七、內(nèi)容管理系統(tǒng),表category保存分類信息,字段如下
category_id int(4) not null auto_increment;
category_name varchar(40) not null;
用戶輸入文章時,通過選擇下拉菜單選定文章分類
寫出如何實現(xiàn)這個下拉菜單
八、PHP文件操作
1、內(nèi)容管理系統(tǒng):用戶提交內(nèi)容后,系統(tǒng)生成靜態(tài)HTML頁面;寫出實現(xiàn)的基本思路
2、簡單描述用戶修改發(fā)布內(nèi)容的實現(xiàn)流程和基本思路
1)當用戶提交后生成一個由url地址MD5后的文件的編譯頁面,用文件處理file函數(shù)生成一個模板合成頁,判斷模板編譯頁是否有,模板頁無或者編譯頁的創(chuàng)建時間戳小于模板頁的修改時間都會從新生成編譯頁面,編譯后的頁面會調(diào)用對應數(shù)據(jù)庫的值顯示在頁面中,通過對內(nèi)存數(shù)據(jù)的讀取釋放,顯示出我們看到的靜態(tài)數(shù)據(jù),然后用file文件將其保存起來生成靜態(tài)的頁面
2)當用戶修改了發(fā)布內(nèi)容都會修改數(shù)據(jù)相關(guān)的內(nèi)容,并通過編譯頁面更新靜態(tài)數(shù)據(jù)并用文件的方式緩存起來,當用戶查看時將不做任何數(shù)據(jù)庫查找,直接調(diào)用該緩存文件即可
一、寫一個函數(shù),獲取一篇文章內(nèi)容中的全部圖片,并下載
二、什么是 CSRF 攻擊?XSS 攻擊?如何防范?
CSRF:跨站請求偽造,可以通過通過判斷來源和加 Token 的方式來防范。
XSS:跨站腳本攻擊,可以通過對內(nèi)容轉(zhuǎn)義和過濾來防范,還有 CSP
三、應用中我們經(jīng)常會遇到在 user 表隨機調(diào)取 10 條數(shù)據(jù)來展示的情況,簡述你如何實現(xiàn)該功能。
四、MYSQL 中主鍵與唯一索引的區(qū)別
主鍵:絕對不能有空值。唯一索引:可以有空值
五、http 與 https 的主要區(qū)別
關(guān)鍵是 S 上。簡而言之,https 建立連接后要先把 SSL 的證書發(fā)下去,有了公鑰和私鑰,就可以解密了。
六、兩臺 mysql 服務器,其中一臺掛了,怎么讓業(yè)務端無感切換,并保證正常情況下講臺服務器的數(shù)據(jù)是一致的
不是核心業(yè)務的話,先停寫,把備機拉起來,查看兩臺機器的日志,進行數(shù)據(jù)補償,開寫。
如果是核心業(yè)務的話,現(xiàn)在所有的操作都在正常的狀態(tài)機器上。把好的這臺機器的備機拉起來,當主機。
以上全是應急操作。實際上數(shù)據(jù)庫的容災設計要復雜得多。
面試官要是問你,備機的數(shù)據(jù)不一致怎么辦,你要勇敢懟回去,你們每秒多少寫入操作。按照百萬級表,每秒 1000 的寫入效率,正常的設計是,分布在 2 臺機器上每臺 500。這個級別的數(shù)據(jù)同步,出現(xiàn)差異的概率 可以忽略不計的。有一臺出現(xiàn)問題,另一臺也可以抗住。
(正常的操作,還是先停寫,等數(shù)據(jù)一致,切換,開寫。我們公司搞這些切換都是在凌晨 4.00 左右,核心業(yè)務的每秒寫操作,只有十幾個。前后耽擱不到 20 秒)。
七、10 瓶水,其中一瓶有毒,小白鼠喝完有毒的水之后,會在 24 小時后死亡,問:最少用幾只小白鼠可以在 24 小時后找到具體是哪一瓶水有毒。
答案:四只
二進制問題。薛定諤的老鼠。
一只老鼠有兩個狀態(tài),死活,對應 01。假設老鼠的個數(shù)為 A,則有 2^A=10; A=4;
思路很簡單,十瓶藥編號:0,1,10,11….1001;
0 不喝。第一只老鼠喝所有個位是 1 的:13579,第二只喝十位是 1 的,第三只和百位是 1 的,第四只喝千位是 1 的。
24 小時后,看下死了的是 1,活著的是 0。按老鼠的順序乖乖站好…… 假如第一只和第三只死了,那就是 0101,就是 5 有問題。