php 无限查找下级业绩_PHP 面试踩过的坑
生活随笔
收集整理的這篇文章主要介紹了
php 无限查找下级业绩_PHP 面试踩过的坑
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
因?yàn)樽罱枰嬖?#xff0c;所以特意整理了一下面試所經(jīng)歷的一些面試題。分享一下,希望對自己有用,也對其他人有用。尚未有答案的,后面會(huì)陸續(xù)更新,如果有補(bǔ)充答案的,也十分感激。
1.get,post 的區(qū)別
**顯示有區(qū)別 **get方法是將字符串拼接在地址欄后面可以看見 而post方法看不見**傳遞的大小有區(qū)別 **具體大小和瀏覽器有關(guān)系,ie瀏覽器是2k其他瀏覽器的最大值可能不同,但是也比較小。而post方法傳遞參數(shù)的大小是可以設(shè)定的,原來是認(rèn)為無限大。在Php當(dāng)中在php.ini文件是可以設(shè)置參數(shù)的大小的。**安全性 **get方法安全性比較低因?yàn)楸┞对谕饷娑鴓ost方法安全性比較高**提交的原理 **get方法提交的數(shù)據(jù)都是獨(dú)立的。而Post方法將所有的提交的數(shù)據(jù)變成一個(gè)整體(將提交的數(shù)據(jù)變成xml格式)**靈活性**get方法很靈活, post方法不靈活,必須要有表單的參與才能用post提交很不方便原文:http://www.php.cn/php-weizijiaocheng-379043.htmlPS在查資料的時(shí)候發(fā)現(xiàn)一個(gè)有趣的回答:傳送門:https://www.cnblogs.com/xkzy/p/5987742.html2.require,include 區(qū)別
require是無條件包含也就是如果一個(gè)流程里加入require,無論條件成立與否都會(huì)先執(zhí)行require include有返回值,而require沒有(可能因?yàn)槿绱藃equire的速度比include快) 包含文件不存在或者語法錯(cuò)誤的時(shí)候require是致命的錯(cuò)誤終止執(zhí)行,include不是3. 獲取 URL 后綴名
pathinfo()解析文件路徑,返回其組成部分;返回關(guān)聯(lián)數(shù)組dirname 文件路徑basename 文件名+擴(kuò)展名extension 最后一個(gè)擴(kuò)展名filename 文件名eg: print_r( pathinfo('/ab/cd/e.php') );Array( [dirname] => /ab/cd [basename] => e.php [extension] => php [filename] => e)擴(kuò)展:打印解析路徑 var_dump( pathinfo($path) );打印路徑的父級路徑 var_dump( pathinfo($path, PATHINFO_DIRNAME) );打印路徑的尾名 var_dump( pathinfo($path, PATHINFO_BASENAME) );打印路徑的最后的擴(kuò)展名 var_dump( pathinfo($path, PATHINFO_EXTENSION) );打印路徑的文件的名字 var_dump( pathinfo($path, PATHINFO_FILENAME) );原文:https://www.cnblogs.com/laowenBlog/p/6527632.html4.tcp,udp,http 區(qū)別
參考鏈接:https://blog.csdn.net/qq_31332467/article/details/792172625. 獲取上級目錄的方法
echo __FILE__ ; // 獲取當(dāng)前所在文件的絕對路徑及地址,結(jié)果:D:\aaa\my.phpecho dirname(__FILE__); // 取得當(dāng)前文件所在的絕對目錄,結(jié)果:D:\aaa\ echo?dirname(dirname(__FILE__));?//取得當(dāng)前文件的上一層目錄名,結(jié)果:D:\?原文:https://blog.csdn.net/viqecel/article/details/807652756. 數(shù)據(jù)庫主從復(fù)制,讀寫分離
* 什么是主從復(fù)制主從復(fù)制,是用來建立一個(gè)和主數(shù)據(jù)庫完全一樣的數(shù)據(jù)庫環(huán)境,稱為從數(shù)據(jù)庫;* 主從復(fù)制的原理:1.數(shù)據(jù)庫有個(gè)bin-log二進(jìn)制文件,記錄了所有的sql語句。2.只需要把主數(shù)據(jù)庫的bin-log文件中的sql語句復(fù)制。3.讓其從數(shù)據(jù)的relay-log重做日志文件中在執(zhí)行一次這些sql語句即可。* 主從復(fù)制的作用1.做數(shù)據(jù)的熱備份,作為后備數(shù)據(jù)庫,主數(shù)據(jù)庫服務(wù)器故障后,可切換到從數(shù)據(jù)庫繼續(xù)工作,避免數(shù)據(jù)丟失。2.架構(gòu)的擴(kuò)展。業(yè)務(wù)量越來越大,I/O訪問頻率過高,單機(jī)無法滿足,此時(shí)做多庫的存儲(chǔ),降低磁盤I/O訪問頻率,提高單機(jī)的I/O性能3.主從復(fù)制是讀寫分離的基礎(chǔ),使數(shù)據(jù)庫能制成更大?的并發(fā)。例如子報(bào)表中,由于部署報(bào)表的sql語句十分慢,導(dǎo)致鎖表,影響前臺(tái)的服務(wù)。如果前臺(tái)服務(wù)使用master,報(bào)表使用slave,那么報(bào)表sql將不會(huì)造成前臺(tái)所,保證了前臺(tái)的訪問速度。* 主從復(fù)制的幾種方式:1.同步復(fù)制:所謂的同步復(fù)制,意思是master的變化,必須等待slave-1,slave-2,...,slave-n完成后才能返回。2.異步復(fù)制:如同AJAX請求一樣。master只需要完成自己的數(shù)據(jù)庫操作即可。至于slaves是否收到二進(jìn)制日志,是否完成操作,不用關(guān)心。MYSQL的默認(rèn)設(shè)置。3.半同步復(fù)制:master只保證slaves中的一個(gè)操作成功,就返回,其他slave不管。這個(gè)功能,是由google為MYSQL引入的。* 關(guān)于讀寫分離在完成主從復(fù)制時(shí),由于slave是需要同步master的。所以對于insert/delete/update這些更新數(shù)據(jù)庫的操作,應(yīng)該在master中完成。而select的查詢操作,則落下到slave中。原文:https://blog.csdn.net/darkangel1228/article/details/80004222https://www.cnblogs.com/KTblog/p/5122825.html7. 數(shù)據(jù)庫索引
**什么是索引**索引是對數(shù)據(jù)庫表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu),使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。(摘自百度百科)**索引類型**1.FULLTEXT 全文索引 全文索引,僅MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不過目前只有 CHAR、VARCHAR ,TEXT 列上可以創(chuàng)建全文索引。2.HASH 哈希索引 HASH索引的唯一性及類似鍵值對的形式十分適合作為索引,HASH索引可以一次定位,不需要像樹形索引那樣逐層參照,因此具有極高的效率。但是這種高效是有條件的。即只在“=”和“in”條件下高效,對于范圍查詢,排序及組合索引仍然效率不高。3.BTREE 樹形索引 BTREE所以是一種將索引按一定算法,存入一個(gè)樹形的數(shù)據(jù)結(jié)構(gòu)中(二叉樹),每次查詢都是從樹的入口root開始,一次遍歷node,獲取leaf。這是MySQL中默認(rèn)也是最常用的索引類型。4.RTREE??? RTREE在MySQL中很少使用,僅支持geometry數(shù)據(jù)類型,支持該存儲(chǔ)引擎只有MyISAM、BDb、InnoDb、NDb、Archive幾種。相對于BTREE,RTREE的優(yōu)勢在于范圍查找。**索引種類**普通索引:僅加速查詢唯一索引:加速查詢+列值唯一(可以有null)主鍵索引:加速查詢+列值唯一(不可以有null)+表中只有一個(gè)組合索引:多列值組成一個(gè)索引,專門用于組合搜索,其效率大于索引合并全文索引:對文本內(nèi)容進(jìn)行分詞,進(jìn)行搜索外鍵索引:與主鍵索引形成聯(lián)系,保證數(shù)據(jù)的完整性。**索引使用的注意事項(xiàng)**1.符合索引遵循前綴原則2.like查詢%不能再前,否則索引失效。如有需要,使用全文索引3.column is null可以使用索引4.如果MySQL估計(jì)使用索引比全表掃描慢,則放棄使用索引5.如果or前的條件中列有索引,后面的沒有,索引不會(huì)生效。6.列類型是字符串,查詢時(shí),一定要給值加引號,否則索引失效。7.確定order by 和 group by 中只有一個(gè)表的列,這樣才能使用索引8. 高并發(fā)的解決方案
web服務(wù)器優(yōu)化 :負(fù)載均衡 流量優(yōu)化:防盜鏈處理 將惡意請求屏蔽,前端優(yōu)化:減少http請求、添加異步請求、啟用瀏覽器緩存和文件壓縮、cdn加速、建立獨(dú)立的圖片服務(wù)器、服務(wù)端優(yōu)化:頁面靜態(tài)化、并發(fā)處理、隊(duì)列處理、數(shù)據(jù)庫優(yōu)化:數(shù)據(jù)庫緩存、分庫分表、分區(qū)操作 、讀寫分離、負(fù)載均衡9.MVC 的理解
1、Model(業(yè)務(wù)模型):應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,通常模型對象負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。 2、view(視圖):應(yīng)用程序中處理數(shù)據(jù)顯示的部分。通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。3、controller(控制器):應(yīng)用程序中處理用戶交互的部分。通常控制器負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。10. 常用的文件操作函數(shù)
**1. 獲得文件名:**basename — 返回路徑中的文件名部分$path = "/home/cate/index/index2.php";\$file = basename($path);\echo $file; //結(jié)果index2.php**2. 獲得目錄名**dirname — 返回路徑中的目錄部分$path = "/home/cate/index/index2.php";\$file = dirname($path);\echo $file;//結(jié)果/home/cate/index**3.得到路徑關(guān)聯(lián)數(shù)組**pathinfo() 函數(shù)以數(shù)組的形式返回關(guān)于文件路徑的信息。返回的數(shù)組元素如下:- [dirname]: 目錄路徑- [basename]: 文件名- [extension]: 文件后綴名- [filename]: 不包含后綴的文件名pathinfo(path,options)| path | 必需。規(guī)定要檢查的路徑。|| options | 可選。規(guī)定要返回的數(shù)組元素。默認(rèn)是 all。可能的值:- PATHINFO_DIRNAME - 只返回 dirname- PATHINFO_BASENAME - 只返回 basename- PATHINFO_EXTENSION - 只返回 extension- PATHINFO_FILENAME - 只返回 filename **4.filesize取得文件大小**filesize ( string $filename )返回文件大小的字節(jié)數(shù),如果出錯(cuò)返回 **FALSE** 并生成一條 **E_WARNING** 級的錯(cuò)誤。 **判斷目錄是否存在** $lujing = "./nihao/wohao"; if(!is_dir($liujing)){ mkdir(iconv("UTF-8", "GBK", $lujing),0777,true);?} **判斷文件是否存在**?file_exists(path);?更多請參照:http://www.w3school.com.cn/php/php_ref_filesystem.asp原文:http://www.w3school.com.cn/php/php_ref_filesystem.asp轉(zhuǎn)自鏈接:https://learnku.com/articles/28758
總結(jié)
以上是生活随笔為你收集整理的php 无限查找下级业绩_PHP 面试踩过的坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 零百加速2.1秒 订单金额达165万:特
- 下一篇: 10以内的分解与组成怎么教_狗狗酷炫的飞