久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>職場>php初級常見面試問題(PHP初級開發工程師面試題)

php初級常見面試問題(PHP初級開發工程師面試題)

發布時間:2024-01-24閱讀(7)

導讀1.用php打印出前一天的時間格式是2006-5-1022:21:21(2分),下面我們就來說一說關于php初級常見面試問題?我們一起去了解并探討一下這個問....

1.用php打印出前一天的時間格式是2006-5-10 22:21:21(2分),下面我們就來說一說關于php初級常見面試問題?我們一起去了解并探討一下這個問題吧!

php初級常見面試問題(PHP初級開發工程師面試題)

php初級常見面試問題

1.用php打印出前一天的時間格式是2006-5-10 22:21:21(2分)

echo date("Y-m-d G:i:s",strtotime("-1 day"));

2.echo(),print(),print_r()的區別(3分)

  • echo()是一個php語句,所以沒有返回值,能打印簡單的數據。
  • print()是一個函數,有返回值,能打印簡單的數據。
  • print_r()是一個函數,能打印復雜的(mix)數據。

如:

<? $value = print hello word<br />; echo "the value is $value<br />"; $arr = array(name=>nowamagic,qq=>123456); print_r($arr);?>

程序運行結果:

hello wordthe value is 1Array ( [name] => nowamagic [qq] => 123456 ) ......

3.能夠使html和php分離開使用的模板(1分)

smarty模板

4.使用哪些工具進行版本控制?(1分)

TortoiseSVN

5.如何實現字符串翻轉?(3分)

strrev("Hello world!");

6.優化mysql數據庫的方法。(4分,多寫多得)

  • 數據庫設計方面,這是DBA和Architect的責任,設計結構良好的數據庫,必要的時候,去正規化(英文是這個:denormalize,中文翻譯成啥我不知道),允許部分數據冗余,避免JOIN操作,以提高查詢效率
  • 系統架構設計方面,表散列,把海量數據散列到幾個不同的表里面.快慢表,快表只留最新數據,慢表是歷史存檔.集群,主服務器Read & write,從服務器read only,或者N臺服務器,各機器互為Master
  • (1)和(2)超越PHP Programmer的要求了,會更好,不會沒關系.檢查有沒有少加索引
  • 寫高效的SQL語句,看看有沒有寫低效的SQL語句,比如生成笛卡爾積的全連接啊,大量的Group By和order by,沒有limit等等.必要的時候,把數據庫邏輯封裝到DBMS端的存儲過程里面.緩存查詢結果,explain每一個sql語句
  • 所得皆必須,只從數據庫取必需的數據,比如查詢某篇文章的評論數,select count(*) ... where article_id = ? 就可以了,不要先select * ... where article_id = ?然后msql_num_rows.只傳送必須的SQL語句,比如修改文章的時候,如果用戶只修改了標題,那就update ... set title = ? where article_id = ?不要set content = ?(大文本)
  • 必要的時候用不同的存儲引擎.比如InnoDB可以減少死鎖.HEAP可以提高一個數量級的查詢速度

7.php的意思(送1分)

Hypertext Preprocessor

8.mysql取得當前時間的函數和格式化日期的函數(2分)

now() DATE_FORMAT(date, format) .

9.實現中文字串截取無亂碼的方法。(3分)

使用mbstring擴展庫的mb_substr()截取就不會出現亂碼了

10.請簡單闡述您最得意的開發之作(4分)

11.對于大流量的網站,您采用什么樣的方法來解決訪問量問題?(4分)

12.用php寫出顯示客戶端ip與服務器ip的代碼(1分)

打印客戶端IP:echo $_SERVER[REMOTE_ADDR]; 或者: getenv(REMOTE_ADDR);

打印服務器IP:echo gethostbyname("http://www.nowamagic.net/")

13.語句include和require的區別是什么?為避免多次包含同一文件,可用(?)語句代替它們? (2分)

require 的使用方法如 require("MyRequireFile.php"); 。這個函數通常放在 PHP 程序的最前面,PHP 程序在執行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程序網頁的一部份。常用的函數,亦可以這個方法將它引入網頁中。

include 使用方法如 include("MyIncludeFile.php"); 。這個函數一般是放在流程控制的處理部分中。PHP 程序網頁在讀到 include 的文件時,才將它讀進來。這種方式,可以把程序執行時的流程簡單化。

為避免多次包含同一文件,可用require_once()/include_once()語句代替它們。

14.如何修改session的生存時間(1分).

<?php session_start(); // 保存一天 $lifeTime = 24 * 3600; setcookie(session_name(), session_id(), time() $lifeTime, "/"); ?>

15.有一個網頁地址 http://www.phpres.com/index.html,如何得到它的內容?($1分)

$contents = file_get_contents("http://www.phpres.com/index.html");

16.在http 1.0中,狀態碼401的含義是(?);如果返回"找不到文件"的提示,則可用 header 函數,其語句為(?);(2分)

401表示未授權;

header("HTTP/1.0 404 Not Found");

17.在php中,heredoc是一種特殊的字符串,它的結束標志必須?(1分)

18.談談asp,php,jsp的優缺點(1分)

asp:簡單而易于維護,很適合小型網站應用,通過DCOM和MTS技術,ASP甚至還可以完成小規模的企業應用,但ASP的致命缺點就是不支持跨平臺的系統,在大型項目開發和維護上非常困難。

PHP:語法簡單,非常易學易用,很利于快速開發各種功能不同的定制網站,PHP因為結構上的缺陷,使的PHP在復雜的大型項目上的開發和維護都比較困難。

JSP:對于網站開發來講不像PHP和ASP那樣易學易用,支持JAVA的主機也少于支持PHP的主機,這從一定程度上限制了Java技術在網站上的發展,不過在企業軟件應用上來講,MVC還是擁有相當大的優勢的,雖然其配置和部署相對其他腳本語言來說要復雜一些,但對于跨平臺的中大型企業應用系統來講,基于JAVA技術的MVC架構幾乎成為唯一的選擇。

19.談談對mvc的認識(1分)

MVC (Model-View-Controller)模式,即模型-試圖-控制器模式,其核心思想是將整個程序代碼分成相對獨立而又能協同工作的3個組成部分,具體的功能如下:模型(Model):業務邏輯層。實現具體的業務邏輯、狀態管理的功能。視圖(View):表示層。就是與用戶實現交互的頁面,通常實現數據的輸入和輸出功能。控制器(Controller):控制層。起到控制整個業務流程的作用,實現View層跟Model層的協同工作。

20.寫出發貼數最多的十個人名字的sql,利用下表:members(id,username,posts,pass,email)(2分)

SELECT username FROM membersGROUP BY id ORDER BY count(posts) DESC LIMIT 0 , 10

21.請說明php中傳值與傳引用的區別。什么時候傳值什么時候傳引用?(2分)

按值傳遞:函數范圍內對值的任何改變在函數外部都會被忽略。按引用傳遞:函數范圍內對值的任何改變在函數外部也能反映出這些修改

優缺點:按值傳遞時,php必須復制值。特別是對于大型的字符串和對象來說,這將會是一個代價很大的操作。按引用傳遞則不需要復制值,對于性能提高很有好處。

22.在php中error_reporting這個函數有什么作用? (1分)

error_reporting() 設置 PHP 的報錯級別并返回當前級別。

23.請寫一個函數驗證電子郵件的格式是否正確 (2分)

function checkEmail(sText) { var reg=/^(?:w .?)*w @(?:w .?)*w $/; var email=document.getElementById(sText).value;if(!reg.test(email)) {alert("電子郵件檢測失敗");}else {alert("電子郵件格式正確");} }

24.簡述如何得到當前執行腳本路徑,包括所得到參數。(2分)

echo $_SERVER[SCRIPT_FILENAME]."?".$_SERVER[QUERY_STRING];

25.js表單彈出對話框函數是?獲得輸入焦點函數是? (2分)

1)alert(),prompt(),confirm()

2)focus()

26.js的轉向函數是?怎么引入一個外部js文件?(2分)

window.location.href<script type="text/javascript" src="prototype.js"></script>

27.foo()和@foo()之間有什么區別?(1分)

PHP 支持一個錯誤控制運算符:@。當將其放置在一個 PHP 表達式之前,該表達式可能產生的任何錯誤信息都被忽略掉。注意: @ 運算符只對表達式有效。對新手來說一個簡單的規則就是:如果能從某處得到值,就能在它前面加上 @ 運算符。例如,可以把它放在變量,函數和include()調用,常量,等等之前。不能把它放在函數或類的定義之前,也不能用于條件結構例如 if 和 foreach 等。

28.mysql_fetch_row() 和mysql_fetch_array之間有什么區別? (1分)

mysql_fetch_row() 從和指定的結果標識關聯的結果集中取得一行數據并作為數組返回。每個結果的列儲存在一個數組的單元中,偏移量從 0 開始。mysql_fetch_array() 是 mysql_fetch_row() 的擴展版本。除了將數據以數字索引方式儲存在數組中之外,還可以將數據作為關聯索引儲存,用字段名作為鍵名。

29.下面哪個函數可以打開一個文件,以對文件進行讀和寫操作?(1分)C

(a) fget() (b) file_open() (c) fopen() (d) open_file()

30.下面哪個選項沒有將 john 添加到users 數組中? (1分) B

(a) $users[] = john; (b) array_add($users,john); (C) array_push($users,john); (d) $users ||= john;

31.下面的程序會輸入是否?(1分)

<?php $num = 10; function multiply(){ $num = $num * 10; } multiply(); echo $num; //輸出10?>

32.如何使用下面的類,并解釋下面什么意思?(3)

class test{ function get_test($num){ $num=md5(md5($num)."en"); return $num; } }

雙重md5加密:

$testObject = new test();$encryption = $testObject->Get_test("xiaotian_ls");

33.請寫出數據類型(int char varchar datetime text)的意思; 請問varchar和char有什么區別(2分)

整形、固定長度字符型、可變長度字符型、時間型。char在保存的時候,后面(右邊)會用空格填充到指定的長度,在檢索的時候后面的空格會去

34.mysq自增類型(通常為表id字段)必需將其設為(?)字段(1分)

主鍵

35.寫出以下程序的輸出結果 (1分)

<? $b=201; $c=40; $a=$b>$c?4:5; echo $a; //輸出4?>

36.檢測一個變量是否有設置的函數?是否為空的函數是?(2分)

isset();empty();

37.請寫出php5權限控制修飾符(3分)

默認的是public(公共) private(私有) protected(保護)

38.請寫出php5的構造函數和析構函數(2分)

如果你在一個類中聲明一個函數,命名為__construct,這個函數將被當成是一個構造函數并在建立一個對象實例時被執行. 清楚地說,__是兩個下劃線. 就像其它任何函數一樣,構造函數可能有參數或者默認值. 你可以定義一個類來建立一個對象并將其屬性全放在一個語句(statement)中.你也可以定義一個名為__destruct的函數,PHP將在對象被銷毀前調用這個函數. 它稱為析構函數。

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖