摘要:一個數據庫的狀態是否正常可以從哪些指標看出來,至少列出個答以及正在運行的進行監控,其中一個方式就是查看運行狀態。
、一個數據庫的狀態是否正常可以從哪些指標看出來,至少列出2個
答QPS以及IOPS 正在運行的mysql進行監控,其中一個方式就是查看mysql運行狀態。 (1)QPS(每秒Query量) QPS = Questions(or Queries) / seconds mysql > show global status like "Question%";、apache和nginx的特性區別在哪?
apache是一個請求對應一個線程的模式,不管那個請求是否需要讀寫都會分配一個線程,而nginx則是異步非阻塞模型,只有當請求需要讀寫的時候才會拿出來處理。、問頁面請求超時取決于nginx的配置還是PHP-CGI的配置?
nginx、PHP中的PEAR是什么?
PEAR也就是為PHP擴展與應用庫(PHP Extension and Application Repository),它是一個PHP擴展及應用的一個代碼倉庫、fastcgi與cgi的區別
fastcgi和cgi都是協議,fastcgi是管理cgi的、PHP中常見錯誤類型?
1、Notice:這些都是一些非常正常的信息,而非重大錯誤,甚至有一些都不會展示給用戶。 2、Warning:這類是稍微嚴重一些的錯誤,錯誤會展示給用戶,但不影響程序的輸出。 3、Fatal errors:這些是非常嚴重的錯誤,比如要訪問一個不存在的PHP類。、http 狀態碼?
200 - 服務器成功返回網頁 301 - 永久移動,請求的網頁已被永久移動到新位置 304 - 緩存網頁未修改,直接返回內容 401 - 未授權 403 -(已禁止) 服務器拒絕請求 404 - 請求的網頁不存在,網頁不存在。 500 - 服務器遇到錯誤,無法完成請求。 503 - 服務器暫時不可用,目前無法使用服務器(由于超載或進行停機維護)。通常,這只是一種暫時的狀態。 HTTP 狀態代碼的完整列表、php中定義常量時,const和define的區別?
define ("Newconstant", 30); 答:使用const使得代碼簡單易讀,const本身就是一個語言結構,而define是一個函數。另外const在編譯時要比define快很多。 1、const用于類成員變量的定義,一經定義,不可修改。Define不可以用于類成員變量的定義,可用于全局常量。 2、Const可在類中使用,define不能 3、Const不能再條件語句中定義常量 4、const采用普通的常量名稱,define可以采用表達式作為名稱 5、const只能接受靜態的標量,而define可以采用任何表達式 6、const定義的常量時大小寫敏感,而define可以通過第三個參數(為true表示大小寫不敏感)來指定大小寫是否敏感。、PHP支持多繼承嗎?
5.4版本以后可以使用Traits方法實現 5.4版本不可以。PHP類只能繼承一個父類,并用關鍵字“extended”標識。、用最簡單的語言告訴我PHP是什么?
PHP全稱:Hypertext Preprocessor,是一種用來開發動態網站的服務器腳本語言。、什么是MVC?
MVC由Model(模型), View(視圖)和Controller(控制器)組成,PHP MVC可以更高效地管理好3個不同層的PHP代碼。
Model:數據信息存取層。
View:view層負責將應用的數據以特定的方式展現在界面上。
Controller:通常控制器負責從視圖讀取數據,控制用戶輸入,并向模型發送數據
cookie在客戶端保存狀態,session在服務器端保存狀態。但是由于在服務器端保存狀態的時候,在客戶端也需要一個標識,所以session也可能要借助cookie來實現保存標識位的作用。 cookie包括名字,值,域,路徑,過期時間。路徑和域構成cookie的作用范圍。cookie如果不設置過期時間,則這個cookie在瀏覽器進程 存在時有效,關閉時銷毀。
如果設置了過期時間,則cookie存儲在本地硬盤上,在各瀏覽器進程間可以共享。
session存儲在服務器端,服務器用一種散列表類型的結構存儲信息。當一個連接建立的時候,服務器首先搜索有沒有存儲的session id,如果沒有,則建立一個新的session,將session id返回給客戶端,
客戶端可以選擇使用cookie來存儲session id。也可以用其他的方法,比如服務器端將session id附在URL上。
區別: (1).cookie在本地,session在服務器端。 (2).cookie不安全,容易被欺騙,session相對安全。 (3).session在服務器端,訪問多了會影響服務器性能。 (4).cookie有大小限制,為3K 多服務器共享session可以嘗試將session存儲在memcache中。、瀏覽器下載最大并發數
http1.0 一般在2-6個 http1.0 一般在4-6個、 簡述POST 和GET傳輸的最大容量分別是多少?
POST根據PHP.ini文件配置(默認的是8M) GET大小限制在2kb、http協議中的post和get有何區別?
GET用于獲取信息,不應該用于修改信息,POST可用于更新修改信息。 GET可傳輸數據大小和URL有關,而POST沒有限定大小,大小和服務器配置有關。 GET放在URL中,因此不安全,而pOST傳輸數據對于用戶來說是不可見的,所以相對安全。 在ajax: post不被緩存,get被緩存所以一般在請求結尾加Math.random(); SERVER端接受:因為在submit提交的時候是按不同方式進行編碼的,所以服務端在接受的時候會按照不同的方式進行接受! 編碼方式:如果傳遞數據是非-ASCII,那么GET一般是不適應的,所以在傳遞的時候會做編碼處理!、字符串和數字比較,如題輸出應該是?
$s = "abc"; if ($s == 0) { echo "is zero"; } else { echo "is not zero"; } 答案:is zero 因為PHP是弱類型,類型是可以根據賦值改變、echo count("abc"); 輸出什么?
echo count(null); 答案:0 echo count(false); 答案:1 echo count(true); 答案:1 echo count("abc"); 答案:1 echo count(123); 答案:1、寫個函數用來對二維數組排序。
array_multisort()
、請寫一個函數驗證電子郵件的格式是否正確(要求使用正則)$reg = "#[a-z0-9-_.]+@[w]{2,}.[w]+#is"; $rst = preg_match($reg, "34234wujunzhiai@163.com"); if($rst){ echo "正確"; }else { echo "錯誤"; }、用php寫出顯示客戶端Ip與服務器Ip的代碼
答案:客戶端 getenv("REMOTE_ADDR");
服務器端 getenv("SERVER_ADDR"); // gethostbyname("www.baidu.com");
function get_max($a,$b,$c) { return ( $a > $b ? $a : $b ) > $c ? ( $a > $b ? $a : $b ) : $c; } echo get_max(1,2,3);
7、寫出 訪問 http://www.sina.com.cn 所需的報文頭
md5_file()、本頁地址,當前腳本的名稱
echo $_SERVER[PHP_SELF];、鏈接到當前頁面的上一頁面的 URL 地址:
echo $_SERVER[HTTP_REFERER];
、echo(),print(),print_ r()的區別echo 是php語句, print和print_ r是函數,語句沒有返回值,函數可以有返回值(即便沒有用) print() 只能打印出簡單類型變量的值(如int, string) print_r() 可以打印出復雜類型變量的值(如數組,對象)、對于大流量的網站,您采用什么樣的方法來解決訪問量問題?
1、pHp緩存 2、生成html靜態頁面 3、使用主輔數據庫,把數據庫的讀寫分開 4、使用負載均衡器和多臺服務器、類的屬性可以序列化后保存到 session 中,從而以后可以恢復整個類,這要用到的函數是。
serialize() 序列化
unserialize() 反序列化、語句include和require的區別是什么?為避免多次包含同一文件,可用(?)語句代替它們?
1、pHp程序執行到require()時,只會讀取一次檔案,故常放在程序開頭,檔案引入后pHp會將網頁檔重新編譯,讓引入檔成為原先網頁的一部分。 2、pHp程序執行到include()時,每次皆會讀取檔案,故常用于流程控制的區段,如條件判斷或循環中。 3、require() :如果文件不存在,會報出一個fatal error.腳本停止執行 4、include() : 如果文件不存在,會給出一個 warning,但腳本會繼續執行 5、推薦使用require_once()和include_once(),可以檢測文件是否有重復包含。、如何修改SESSION的生存時間.
方法一: 將php.ini 中session.gc_maxlifetime 設置為 9999(默認為 1440)重啟 apache 即可 方法二: $savepath = "./session_save_dir/"; $lifeTime = 24 * 3600; session_save_path($savepath); session_set_cookie_params($lifeTime); session_start(); 方法三: setcookie() 或session_set_cookie_params($lifeTime) 在pHp中,heredoc是一種特殊的字符串,它的結束標志必須? heredoc的語法是用"<<<"加上自己定義成對的標簽,在標簽范圍內的文字視為一個字符串 需要注意的是: 1、"<<<"后面的EOD是自己定義的標簽名稱,必須要成對,而且后面要加上分號表示結束。 2、結束的標簽前面最好不要有空格,以免發生錯誤、在pHp中error_reporting這個函數有什么作用?
error_reporting() 用于設置php的偵聽錯誤的級別.[用來配置錯誤信息回報的等級].、error_reporting(2047)什么作用?
答案:相當于 error_reporting("E_ALL"); 輸出所有的錯誤
、檢測一個變量是否有設置的函數是?是否為空的函數是?isset($a) empty($a)、$arr = array("james", "tom", "symfony"); 請打印出第一個元素的值
echo $arr[0];、$a = "abcdef"; 請取出$a的值并打印出第一個字母
答:echo $a{0} 或 echo substr($a,0,1)、請寫出php5權限控制修飾符
public(公共) private(私用) protected(繼承)、請寫出php5的構造函數和析構函數
__construct() 構造函數 __destruct() 析構函數
4、php中web上傳文件的原理是什么,如何限制上傳文件的大小?
pHp上傳文件默認大小為2M,設置上傳大小的配置項是upload_max_filesize,post_max_size設置一次pOST中pHp能接收的最大數據量,應該比upload_max_filesize大。
5、php防止sql注入式攻擊,用什么函數轉換字符串?
addslashes();
6、你常用的php字符串函數?
substr(),strtolower(),ucwords(),ucfirst(),strtoupper(),implode(),explode(),str_replace(),strpos(),strrev()
8、HTTp的通訊協議是?
TCP
9、php中的文件讀寫操作,讀取文件test.txt中前300字節的內容?
$handle=fopen("test.txt","r"); $contents=fread($handle,300); fclose($handle);
11、寫一個函數,盡可能高效的,從一個標準 url 里取出文件的擴展名
例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php 答案1: function getExt($url){ $arr = parse_url($url); $file = basename($arr["path"]); $ext = explode(".",$file); return $ext[1]; }
12、php5中魔術方法函數有哪幾個,請舉例說明各自的用法
__construct() :實例化對象時被調用; __destuct():當刪除一個對象或者對象操作終止是被執行; __call():調用對象不存在方法時被調用; __get():調用對象不存在的屬性時被調用; __set():設置對象不存在的屬性時被調用; __toString():打印一個對象時被調用,比如echo $obj,print($obj); __clone():克隆對象時被調用,比如$t = new Test();$tt = clone $t; __sleep():serialize之前被調用,若對象比較大,想做一些刪除在序列化,可以考慮使用該方法; __wakeup():unserialize之前被調用,做些對象的初始化; __isset():檢測對象是否存在屬性的時候被調用,如 isset($c->name); __unset():unset一個對象屬性時被調用,如:unset($c->name); __set_state():調用var_export時被調用,用__set_state的返回值作為 var_export的返回值 __autoload():實例化一個對象時,如果對應的類不存在,在該方法被調用 魔術常量: __LINE__:返回當前行號; __FILE__:返回文件的完整路徑和文件名,如果用在包含文件里面,則返回包含文件名,自 php4.0.2開始, __FILE__總是包含一個絕對路徑,而在此前的版本有時候會包含一個相對路徑 __FUNCTION__:返回函數名稱(自 php4.3.0新加的)。自php5起本常量返回該函數被定義時的名稱,區分大小寫,在php4中該值總是小寫; __CLASS__:返回類的名稱,自 php4.3.0新加的,自php5起本常量返回該類被定義時的名稱,區分大小寫,在php4中該值總是小寫的; __METHOD__:返回類的方法名。 php5新加的
13、簡單說明pHp的垃圾收集機制是怎樣的?
對變量有個引用計數,計數到0時變量被銷毀
14、請寫一段pHp代碼,確保多個進程同時寫入同一個文件成功
代碼: function writeData($path, $mode, $data){ $fp = fopen($path, $mode); $retries = 0; $max_retries = 100; do { if ($retries > 0) { usleep(rand(1, 10000)); } $retries += 1; }while (!flock($fp, LOCK_EX) and $retries <= $max_retries); if ($retries == $max_retries) { return false; } fwrite($fp, "$data "); flock($fp, LOCK_UN); fclose($fp); return true; }
15、你用什么方法檢查php腳本的執行效率(通常是腳本執行時間)和數據庫SQL的效率(通常是數據庫Query時間),并定位和分析腳本執行和數據庫查詢的瓶頸所在
php腳本的執行效率 1, 代碼腳本里計時 2, xdebug統計函數執行次數和具體時間進行分析,最好使用工具winCacheGrind分析 3, 在線系統用strace跟蹤相關進程的具體系統調用 數據庫SQL的效率 sql的explain(mysql),啟用slow query log記錄慢查詢 通常還要看數據庫設計是否合理,需求是否合理等、microtime和mktime兩個函數的區別。
echo microtime(); 返回當前時間戳 echo mktime(); 取得指定的時間戳
16、求兩個日期的差數,例如2007-2-5 ~ 2007-3-6 的日期差數
$begin = strtotime("2007-2-5");
$end = strtotime("2007-3-6");
echo ($end-$begin)/(24*3600);
17、用php打印出前一天的時間格式是YYYY-MM-DD HH:II:SS
echo date("Y-m-d H:i:s", time()-24*3600); echo date("Y-m-d H:i:s", strtotime("-1 day")); 前一天 echo date("Y-m-d H:i:s", strtotime("-1 second")); echo date("Y-m-d H:i:s", strtotime("-1 minute")); echo date("Y-m-d H:i:s", strtotime("-1 hour")); echo date("Y-m-d H:i:s", strtotime("-1 day")); echo date("Y-m-d H:i:s", strtotime("-1 week")); echo date("Y-m-d H:i:s", strtotime("-1 month")); echo date("Y-m-d H:i:s", strtotime("-1 year"));
請寫一個函數,實現以下功能:
字符串“open_door” 轉換成 “OpenDoor”、”make_by_id” 轉換成 ”MakeById”。
function str_change($str) {
$str = str_replace ("_", " ", $str); $str = ucwords($str); $str = str_replace (" ", "", $str); return $str; }
4、請簡述操作系統的線程與進程的區別。列舉LINUX下面你使用過的軟件?
5、熟悉memcache/redis、MVC/REST架構、模板引擎、中間件的原理與應用者優先;
6、熟悉TCP/IP、HTTP協議者優先;
===============算法=====================
1、請使用偽語言結合數據結構冒泡排序法對以下一組數據進行排序 10 2 36 14 10 25 23 85 99 45。
$a = array(10,2,36,14,10,25,23,85,99,45); $count = count($a); for($j=1; $j<$count; $j++){ for($i=0; $i<$count-$j; $i++){ if($a[$i] > $a[$i+1]) { $t = $a[$i] ; $a[$i] = $a[$i+1] ; $a[$i+1] = $t ; } } } print_r($a);
============Mysql==========================
、mysql_fetch_row 和mysql_fetch_array之間有什么區別?mysql_fetch_row() 從結果集中取得一行作為枚舉數組 mysql_fetch_array() 從結果集中取得一行作為關聯數組,或數字數組,或二者兼有、MYSQL取得當前時間的函數是?,格式化日期的函數是
now() DATE_FORMAT(date , format) select now(); select curdate(); select curtime();
1、請簡述數據庫設計的范式及應用。
一般第3范式就足以,用于表結構的優化,這樣做既可以避免應用程序過于復雜同時也避免了SQL語句過于龐大所造成系統效率低下
1NF:原子性 字段不可再分,否則就不是關系數據庫; 2NF:唯一性 一個表只說明一個事物; 3NF:每列都與主鍵有直接關系,不存在傳遞依賴;
ANSWER:
第一范式:若關系模式R的每一個屬性是不可再分解的,再屬于第一范式。
第二范式:若R屬于第一范式,且所有的非碼屬性都完全函數依賴于碼屬性,則為第二范式。
第三范式:若R屬于第二范式,且所有的非碼屬性沒有一個是傳遞函數依賴于候選碼,則屬于第三范式
1、創建新聞發布系統,表名為message有如下字段 (3分)
id 文章id title 文章標題 content 文章內容 category_id 文章分類id hits 點擊量 答: CREATE TABLE `message`( `id` int(10) NOT NULL AUTO_INCREMENT, `title` VARCHAR(200) default NULL, `content` text, `category_id` int(10) NOT NULL, `hits` int(20), PRIMARY KEY(`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、列出有二門以上(含兩門)不及格課程的學生姓名及其平均成績
name score 張三 語文 59 張三 數學 80 張三 英語 33 李四 語文 50 李四 數學 50 李四 英語 58 王五 語文 88 王五 數學 90 答:select name,sum(score<60) as gk,avg(score) as pj from student group by name having gk>=2;
============Javascript==========================
、JS表單彈出對話框函數是?獲得輸入焦點函數是?彈出對話框: alert(),prompt(),confirm() 獲得輸入焦點 focus()
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22595.html
摘要:我在面試前針對基礎也花了不少的時間,期間也將自己寫過的博文粗略地刷了一遍,同時也在網上找了不少比較好的資料部分是沒看完的。看面試題也是校驗自己是否真正理解了這個知識點,也很有可能會有新的收獲。 一、前言 只有光頭才能變強 回顧前面: 廣州三本找Java實習經歷 上一篇寫了自己面試的經歷和一些在面試的時候遇到的題目(筆試題和面試題)。 我在面試前針對Java基礎也花了不少的時間,期間也將...
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經常被問到的持久化與恢復實現故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數據恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經常被問到的持久化與恢復實現故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數據恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
摘要:正如我標題所說,簡歷被拒。看了我簡歷之后說頭條競爭激烈,我背景不夠,點到為止。。三準備面試其實從三月份投遞簡歷開始準備面試到四月份收,也不過個月的時間,但這都是建立在我過去一年的積累啊。 本文是 無精瘋 同學投稿的面試經歷 關注微信公眾號:進擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無精瘋 同學的分享 目錄: 印象中的頭條 面試背景 準備面試 ...
摘要:正如我標題所說,簡歷被拒。看了我簡歷之后說頭條競爭激烈,我背景不夠,點到為止。。三準備面試其實從三月份投遞簡歷開始準備面試到四月份收,也不過個月的時間,但這都是建立在我過去一年的積累啊。 本文是 無精瘋 同學投稿的面試經歷 關注微信公眾號:進擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無精瘋 同學的分享目錄:印象中的頭條面試背景準備面試頭條一面(Java+項目)頭條...
閱讀 2574·2021-09-06 15:02
閱讀 3204·2021-09-02 10:18
閱讀 2825·2019-08-30 15:44
閱讀 687·2019-08-30 15:43
閱讀 1952·2019-08-30 14:08
閱讀 2763·2019-08-30 13:16
閱讀 1400·2019-08-26 13:52
閱讀 934·2019-08-26 12:21