>백엔드 개발 >PHP 튜토리얼 >PHP 인터뷰 질문 요약(답변 포함)

PHP 인터뷰 질문 요약(답변 포함)

angryTom
angryTom앞으로
2019-10-14 13:41:567543검색

공부 추천 "2019 PHP 면접 문제 요약(모음)"

1. 양식에서 get 제출 방식과 post 제출 방식의 차이점은 무엇인가요?

답변: get은 HTTP 프로토콜을 통해 요청을 보내고 URL 매개변수를 통해 이를 받는 반면, post는 양식을 통해 많은 양의 정보를 제출할 수 있는 엔터티 데이터입니다.

2. 세션과 쿠키?

답변:

session: 서버의 PHP가 지정한 디렉터리의 (session_dir) 위치에 저장되는 사용자 액세스를 저장하는 전역 고유 변수

cookie: 지속적인 방문을 저장하는 데 사용됩니다. 클라이언트 측에서는 쿠키가 사용자 WIN의 Temp 디렉터리에 저장됩니다.

둘 다 시간을 통해 시간의 길이를 설정할 수 있습니다.

3. 데이터베이스의 트랜잭션이란 무엇입니까?

답변: 트랜잭션은 하나의 단위로 정렬된 데이터베이스 작업 집합입니다. 그룹의 모든 작업이 성공하면 트랜잭션이 성공한 것으로 간주되며, 하나의 작업만 실패하더라도 트랜잭션은 성공하지 못합니다. 모든 작업이 완료되면 트랜잭션이 커밋되고 해당 수정 사항이 다른 모든 데이터베이스 프로세스에 적용됩니다. 작업이 실패하면 트랜잭션이 롤백되고 트랜잭션의 모든 작업 효과가 취소됩니다.

간단한 질문:

1. PHP를 사용하여 2006-5-10 22:21:21(2포인트) 형식으로 전날 시간을 출력합니다******** ***** **

답변: echo date('Y-m-d H:i:s', strtotime('-1 days'));

2. echo(), print(), print_r() (3점)

답변:

Echo와 print는 언어 구조이고, print_r은 함수이고, 명령문에는 반환 값이 없으며, 함수는 반환 값을 가질 수 있습니다(쓸모 없더라도)

Print()는 단순한 유형 변수(예: int, 문자열)의 값만 인쇄할 수 있습니다.

print_r()은 복잡한 유형 변수(예: 배열, 객체)의 값을 인쇄할 수 있습니다.

echo 하나 이상의 문자열 출력

3 HTML과 PHP를 별도로 사용할 수 있게 해주는 템플릿(1점)

답변: Smarty, Dwoo, TinyButStrong, Template Lite, Savant, phemplate,

5. )

답변: echo strrev($a);

6. MYSQL 데이터베이스를 최적화하는 방법. (4점, 많이 적을수록 더 많이 얻습니다)

답변:

1. 가장 적합한 필드 속성을 선택하고, 정의된 필드의 길이를 최대한 줄이고 필드를 NOT으로 설정해 보세요. '지방, 성별'과 같은 NULL, ENUM으로 설정하는 것이 가장 좋습니다

2. 조인(JOIN)을 사용하여 하위 쿼리를 대체합니다: 3. 수동으로 생성된 임시 테이블을 대체하려면 유니온(UNION)을 사용합니다

4. 트랜잭션 처리:

5. 테이블 잠금 및 트랜잭션 처리 최적화:

6. 외래 키를 사용하여 잠긴 테이블 최적화

7. 인덱스 생성:

8. 쿼리 문 최적화

7. PHP의 의미(1 포인트 보너스)

답변: PHP는 서버 기반 서버입니다. 동적 웹사이트를 위한 스크립트 언어입니다. PHP와 HTML을 사용하여 웹사이트 홈페이지를 생성할 수 있습니다

8. MYSQL의 기능은 무엇인가요? 날짜 형식 지정 기능은 (2점)

답변: now(), date( )

9. 중국어 텍스트 문자열을 왜곡된 문자 없이 가로채는 방법입니다. (3점)******************

Mb_substr

답변:

function GBsubstr($string, $start, $length) {
    if(strlen($string)>$length){
     $str=null;
     $len=$start+$length;
     for($i=$start;$i<$len;$i++){
    if(ord(substr($string,$i,1))>0xa0){
     $str.=substr($string,$i,2);
     $i++;
    }else{
     $str.=substr($string,$i,1);
     }
    }
   return $str.&#39;...&#39;;
    }else{
   return $string;
   }
}

10. 버전 관리 소프트웨어가 있다면 사용해보신 적 있으신가요? 이름이 무엇인가요? (1점)

답변: Used, cvs, svn, vss

11. 그렇다면 템플릿 엔진을 사용해 본 적이 있나요? (1점)

답변: 중고, 스마트

12. 가장 자랑스러운 개발 작업을 간략하게 설명해 주세요. (4점)

답변: 정보 분류

13. 웹사이트 트래픽 문제를 해결하려면? (4점)

답변:

서버 하드웨어가 현재 트래픽을 지원할 만큼 충분한지 확인, 데이터베이스 읽기 및 쓰기 분리, 데이터 테이블 최적화,

프로그램 기능 규칙, 외부 금지 핫 링크 및 대용량 제어 파일을 다운로드하려면 다른 호스트를 사용하여 주요 트래픽을 전환하세요

14. PHP를 사용하여 클라이언트 IP와 서버 IP 1포인트를 표시하는 코드를 작성하세요.)

답변: 클라이언트 IP를 인쇄하세요.

echo $_SERVER[‘REMOTE_ADDR’];
// 或者: 
getenv(&#39;REMOTE_ADDR&#39;);
// 打印服务器IP:
echo gethostbyname("www.bolaiwu.com")

15. 명령문 include와 require의 차이점은 무엇인가요? 동일한 파일을 여러 번 포함하지 않으려면 (?) 명령문을 사용하여 교체할 수 있나요? (2점)

답변: require- >require는 무조건 포함입니다. 즉, require가 프로세스에 추가되면 조건 성립 여부에 관계없이 require가 먼저 실행됩니다.

include->include는 반환 값을 가지지만 require는 그렇지 않습니다. (require가 include보다 빠르기 때문일 수도 있습니다)

참고: 포함된 파일이 존재하지 않거나 include가 아닌 구문 오류가 있는 경우 require는 치명적입니다.

16. 在PHP中error_reporting这个函数有什么作用? (1分)

答:设置错误级别与错误信息回报

17. 请写一个函数验证电子邮件的格式是否正确 (2分)

答:

function checkEmail($email)
{
    $pregEmail = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";
    return preg_match($pregEmail,$email);  
}

18. 简述如何得到当前执行脚本路径,包括所得到参数。(2分)

答:

$script_name = basename(__file__); 
print_r($script_name);

위 내용은 PHP 인터뷰 질문 요약(답변 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 www.phplaozhang.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제