面試記錄-Git
將本地文件推向遠程倉庫的完整過程
git init //初始化版本庫
git add //添加文件到版本庫,只是添加到緩存區
git commit -m "註釋" //把添加的文件添加到版本庫並填寫備註
git remote add origin 遠程地址 //把本地庫與遠程庫關聯
git push -u origin master //第一次推送
git push origin master //第一次推送後,直接使用該命令即可推送修改
面試記錄-Linux
常用的Linux命令
ls 展示當前文件夾的可見文件
ls -a 展示當前文件夾所有文件(包括隱藏文件)
pwd 顯示目前的目錄
cd 切換目錄
mkdir 創建文件夾
touch test.txt 創建文件
rm test.txt 刪除文件
ln 創建鏈接
ln命令用於將一個文件創建鏈接,鏈接分爲軟鏈接(類似於windows系統中的快捷方式)和硬鏈接(相當於對源文件copy,程序或命令對該文件block的另一個訪問路口),命令默認使用硬鏈接。
軟鏈接:不可以刪除源文件,刪除源文件導致鏈接文件找不到,出現文件紅色閃爍
硬鏈接:可以刪除源文件,鏈接文件可以正常打開
面試記錄-MySQL存儲引擎
常見的MySQL存儲引擎主要有什麼,區別是什麼?
答:MySQL常見的存儲引擎有三種分別爲:InnoDB、MyISAM、MEMORY(很少用)。
InnoDB的優勢在於提供了良好的事務處理、崩潰修復功能和併發控制。缺點是讀寫效率較差、佔用的數據空間相對較大。
MyISAM的優勢在於佔用空間小、處理速度快。缺點是不支持事物的完整性和併發性。
關聯查詢:不建議使用join查詢?
- 不利於寫操作。執行讀操作時會鎖住被讀的數據,阻塞其他業務對該部分數據的更新操作。如果涉及多個聚合函數相當於同時鎖住多張表不能讀寫,直接影響其他業務從而影響系統的整體性能。
- 不利於維護。業務發生變動時,比如join中一張表改了,可能導致系統中原有的sql不可用,最終導致基於sql執行結果的上層顯示失敗。
面試記錄-PHP7特性
- 可以使用字符串(string), 整數 (int), 浮點數 (float), 以及布爾值 (bool),來聲明函數的參數類型與函數返回值。
- 大文件上傳支持(可以上傳超過2G的大文件)
- JSON擴展已經被JSOND取代
- NULL合併運算
如果變量存在且值不爲NULL,它就返回自身的值,否則返回它的第二個參數
$username = $_GET['user'] ?? 'nobody';
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
//結果相同
- 整除函數(intdiv)
- 平方運算
- 常量定義數組
面試記錄-TP5框架的特點
- 高級模型:可以輕鬆支持序列化字段、文本字段、只讀字段、延遲寫入、樂觀鎖、數據分表等高級特性。
- 視圖模型:輕鬆動態的創建視圖模型,多表查詢相對簡單。
- 關聯模型:簡單靈活的完成多表查詢
- 緩存機制:支持多種動態數據緩存類型
- 編譯機制:減少OOP開發中文件加載的性能開銷
- 自動驗證和完成:自動完成表單數據的驗證和過濾,生成安全的數據對象。
- AJAX支持:內置AJAX數據返回方法
- 查詢語言:內建豐富的查詢機制,包括組合查詢、複合查詢
面試記錄-對MVC模式的理解
MVC全名是Model View Controller,是模型-視圖-控制器的英文縮寫,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件裏,在改進和個性化定製界面及用戶交互的同時不需要重新編寫業務邏輯。
Model(模型):通常模型對象負責在數據庫中存取數據。
View(視圖):是應用程序中處理數據顯示的部分。
Controller(控制器):通常控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據。
面試記錄-設計模式
- 工廠模式:使我們最常用的實例化對象模式,是用工廠方法代替new操作的一種模式。
- 單例模式:是一種常見的軟件設計模式。在它的核心結構中只包含一個單例類的特殊類。通過單例模式可以保證系統中一個類只有一個實例而且該實例易於外界訪問,從而方便對實例個數的控制並節約系統資源