>  기사  >  백엔드 개발  >  2017년 최신 PHP 클래식 인터뷰 질문 요약

2017년 최신 PHP 클래식 인터뷰 질문 요약

不言
不言원래의
2018-04-21 10:30:054389검색

이 글의 내용은 2017년 최신 PHP 클래식 면접 질문을 요약한 것입니다. 참고할만한 가치가 있습니다. 이제 모든 사람과 공유할 수 있습니다. 도움이 필요한 친구들이 참고할 수 있습니다

이 글은 계속 업데이트됩니다. 댓글 영역에 게시하고 싶습니다. 제 의견과 제가 더 고전적이라고 생각하는 주제를 바탕으로 나중에 이 글을 적절한 노드로 분류하고 계층화하겠습니다. 기사에 더 많은 조언을 해주시고 부족한 점을 바로잡아주셨으면 좋겠습니다!

1. 큰따옴표와 작은따옴표의 차이점

  • 큰따옴표는 변수를 설명하고, 작은따옴표는 변수를 설명하지 않습니다

  • 단일따옴표 삽입 큰따옴표 안의 따옴표, 여기서 작은따옴표 안에 변수가 있는 경우 큰따옴표 안의 변수 이름 뒤에 숫자, 문자, 밑줄 이외의 특수 문자가 와야 하거나 변수로 묶어야 합니다. 변수 이름 뒤의 부분은 전체적으로 구문 오류가 발생하는 것으로 간주됩니다.

  • 큰 따옴표는 이스케이프 문자를 해석하고, 작은 따옴표는 이스케이프 문자를 해석하지 않지만 ' 및 \

  • 을 해석하면 작은 따옴표 문자를 단일 따옴표로 사용할 수 있습니다 작은 따옴표는 큰 따옴표보다 효율적입니다. 큰 따옴표는 먼저 변수가 있는지 확인하기 위해 순회해야 하지만 작은 따옴표는 그럴 필요가 없기 때문입니다. 판단됨)

  • 2. 일반적으로 사용되는 슈퍼 전역 변수 (8개)

$_GET ----->전송 방식 가져오기

  • $_POST ----->포스트 전송 방식

  • $_REQUEST ----->get 및 post 메소드를 모두 받을 수 있습니다.

$GLOBALS 값 ----->모든 변수가 여기에 배치됩니다
  • $_FILE ----->

  • $_SERVER를 사용하여 파일 업로드 - --- -->시스템 환경 변수

$_SESSION ----->세션 제어에 사용됩니다
  • $_COOKIE ----->세션 제어에 사용됩니다.

  • 3. HTTP

HTTP의 POST, GET, PUT 및 DELETE 메서드의 차이점은 서버와 상호 작용하는 다양한 방법을 정의합니다. 가장 기본적인 것은 POST, GET, PUT 및 DELETE이며, 전체 이름은 리소스 설명자입니다. url은 인터넷상의 리소스를 설명하고 post, get, put 및 위임은 다음과 같습니다. 이 리소스를 추가, 삭제, 수정, 확인하는 작업입니다!

3.1 양식에서 get과 post 제출 방법의 차이점

get은 제출된 양식의 작업 속성이 가리키는 URL에 매개변수 데이터 대기열을 추가합니다. 값은 양식의 각 필드에 하나씩 해당합니다. URL에서 볼 수 있습니다. post는 HTTPPOST 메커니즘을 사용하여 양식의 각 필드와 해당 내용이 HTML 헤드의 작업 속성이 가리키는 URL 주소로 전송되는 것을 방지합니다
.
  • get 메소드의 경우 서버측에서는 Request.QueryString을 사용하여 변수 값을 가져옵니다. post 메소드의 경우 서버는 Request.Form을 사용하여 get으로 전송되는 데이터의 양이 적습니다. post로 전송되는 데이터의 양이 크므로 일반적으로 기본적으로 제한이 없지만 이론상으로 IIS4의 최대 크기는 80kb이고 IIS5에서는 1000k입니다. get의 보안은 매우 낮으며 post의 보안은 매우 낮습니다. high

  • 3.2

  • GET 요청은 데이터를 얻기 위해 데이터베이스에 요청을 보냅니다. 이 요청은 데이터베이스의 선택 작업과 동일하며 데이터를 쿼리하는 데만 사용됩니다. 데이터를 수정하거나 추가하면 리소스 내용에 영향을 주지 않습니다. 즉, 요청으로 인해 부작용이 발생하지 않습니다. 몇번을 해도 결과는 같습니다.

GET 요청과 달리 PUT 요청은 정보를 변경하기 위해 데이터를 서버로 보냅니다. 이 요청은 데이터베이스의 업데이트 작업과 유사하며 데이터의 내용을 수정하는 데 사용되지만 데이터 유형을 늘리지는 않습니다. 즉, PUT 연산을 아무리 많이 수행해도 결과는 달라지지 않습니다.
  • POST 요청은 PUT 요청과 유사합니다. 둘 다 서버에 데이터를 전송하지만 이 요청은 데이터베이스의 삽입 작업과 마찬가지로 데이터 유형과 기타 리소스를 변경하여 새로운 콘텐츠를 생성합니다. 현재 거의 모든 제출 작업은 POST를 사용하여 요청됩니다.

  • DELETE 요청은 이름에서 알 수 있듯이 특정 리소스를 삭제하는 데 사용됩니다. 이 요청은 데이터베이스의 삭제 작업과 같습니다.

  • 4. PHP 소개

  • 하이퍼텍스트 전처리기----하이퍼텍스트 전처리기
개인 홈페이지 원래 이름

목표 목적:
웹 개발자가 동적으로 생성된 웹 페이지를 빠르게 작성할 수 있도록 합니다. PHP는 프로그램을 HTML 문서에 내장하여 실행합니다. 이는 HTML 편집을 완전히 생성하는 CGI보다 훨씬 효율적입니다.

HTML:

Hypertext Markup Language

창립자: Ramsler Le Rasmus Lerdorf, 1968년생, 대학 of Waterloo, Canada

Lerdorf는 개인 웹 페이지를 유지하기 위해 먼저 prel 언어로 유지 관리 프로그램을 작성한 다음 c로 다시 작성하여 결국 php/fi

로 이어졌습니다. 타임라인:

  • 1995.06.08 PHP/FI가 대중에게 출시되었습니다

  • 1995 php2.0, MySQL

  • 1997 php3.0

  • 2000 php4.0

  • 에 대한 지원 추가
  • 2008 php5 . 0

  • php6.0은 유니코드 인코딩을 완전히 해결하지 못하기 때문에 기본적으로 프로덕션 라인에 응용프로그램이 없습니다. php5.3.3 및 php5.3.4

에 많은 기능이 구현되어 있습니다.

공통 IDE(통합 개발 환경): 통합 개발 환경

  • Coda(mac)

  • PHPStrom

  • Adobe Dreamweaver

  • NetBeans

코드 강조 기능이 있는 일반 텍스트 편집기:

  • NodePad++

  • SublimeText

PHP 장점

PHP 기능:

  • php는 C, Java, Prel 및 PHP 자체 구문을 고유하게 혼합합니다.

  • CGI 또는 Prel과 비교할 수 있습니다. 동적 웹 페이지를 더 빠르게 실행할 수 있습니다. PHP는 HTML 문서에 프로그램을 삽입하여 실행합니다. 모든 CGI를 완벽하게 구현할 수 있습니다.

  • 거의 모든 데이터베이스를 지원합니다. 및 운영 체제

  • PHP는 C, C++를 사용하여 프로그램을 확장할 수 있습니다

PHP 장점:

  • 오픈 소스 코드

  • 무료

  • 신속성

  • 강하다 크로스 플랫폼

  • 고효율

  • 그래픽 처리

  • 객체 지향

  • 전문적 초점

PHP 기술 응용:

  • 정적 페이지 생성

  • 데이터베이스 캐싱

  • 프로세스 캐싱

  • p+css w3c 표준

  • 큰 부하

  • 분산

  • flex

  • MVC 지원

  • 똑똑한 모듈 엔진

PHP 인증 레벨

  • Junior IFE: Index Front Engineer

    6. echo, print_r, print 및 var_dump의 차이점
* echo、print是php语句,var_dump和print_r是函数
* echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构而不是真正的函数,因此不能作为表达式的一部分使用
* print也是php的一个关键字,有返回值 只能打印出简单类型变量的值(如int,string),如果字符串显示成功则返回true,否则返回false* print_r 可以打印出复杂类型变量的值(如数组、对象)以列表的形式显示,并以array、object开头,但print_r输出布尔值和NULL的结果没有意义,因为都是打印"\n",因此var_dump()函数更适合调试
* var_dump() 判断一个变量的类型和长度,并输出变量的数值
  • 7. HTTP 상태 코드

    HTTP 상태 코드에 대한 자세한 설명을 보려면 여기를 클릭하세요
  • Common HTTP 상태 코드:

  • 200 - 요청 성공

    301 - 리소스(웹페이지 등)가 다른 URL로 영구적으로 이스케이프되었습니다.

    404 - 요청된 리소스(웹페이지 등)가 그렇지 않습니다. 존재
    • 505 - 내부 서버 오류
    • HTTP 상태 코드 분류:
    • 1** - 정보, 서버에서 수신한 요청에 따라 요청자가 작업을 계속 수행해야 합니다

    2 ** - 성공, 작업이 성공적으로 수신 및 처리되었습니다.

    3** - 리디렉션, 요청을 완료하려면 추가 조치가 필요합니다
    • 4** - 클라이언트 오류, 요청에 구문 오류가 포함되어 있거나 요청에 완료할 수 없습니다
    • 5** 서버 오류, 서버가 요청을 처리하는 동안 오류가 발생했습니다
    • 8. 매직 따옴표란 무엇인가요?
    • 매직 따옴표는 PHP 스크립트에 입력되는 데이터를 자동으로 이스케이프하는 프로세스입니다. .인코딩 중에는 이스케이프하지 않고 런타임 중에 필요에 따라 이스케이프하는 것이 가장 좋습니다. 9. 클라이언트 IP(int 필요) 및 서버 IP 코드를 얻는 방법

      클라이언트:
    • 10 이러한 도구를 사용하여 버전을 관리하세요. cvs, svn, vss, git

    • 11. 데이터베이스 최적화 방법

    MySQL 데이터베이스 최적화의 8가지 주요 방법(클래식 필수)을 보려면 클릭하세요

    가장 적합한 필드 속성을 선택하고 정의된 필드의 너비를 줄입니다. 필드를 최대한 많이 사용하고 필드를 NOTNULL로 설정해 보세요. 예를 들어 'province'와 'gender'는 ENUM

    에 가장 적합합니다. $_SERVER["REMOTE_ADDR"];或者getenv('REMOTE_ADDR')ip2long进行转换服务器端:gethostbyname('www.baidu.com')

    하위 쿼리 대신 조인(JOIN)을 사용하세요

    Union(UNION) ) 수동으로 생성된 임시 테이블 교체

    트랜잭션 처리
    • 테이블 잠금, 트랜잭션 처리 최적화
    • 외래 키 적용, 잠금 테이블 최적화
    • 인덱스 생성
    • 쿼리 문 최적화
    • 12. 템플릿 엔진을 사용해 본 적이 있나요? 사용된 템플릿 엔진의 이름은 무엇입니까?
    • Smarty:

      Smarty는 매우 오래된 PHP 템플릿 엔진으로 이 언어에서 템플릿을 사용하기 위해 처음 선택했습니다. 업데이트 빈도가 낮고 차세대 템플릿 엔진의 일부 기능이 부족하지만 여전히 살펴볼 가치가 있습니다.
    • 13. 트래픽이 많은 웹사이트의 경우 트래픽 문제를 해결하려면 어떤 방법을 사용해야 합니까?

    • 서버 하드웨어가 현재 트래픽을 지원할 수 있는지 확인

    데이터베이스 읽기 및 쓰기 분리, 데이터 테이블 최적화

    프로그램 기능 규칙, 외부 핫링크 금지

    대용량 파일 다운로드 제어
    • 다른 호스트를 사용하여 주요 트래픽을 전환

    14. include 문과 require 문 사이의 차이점은 무엇인가요? 동일한 파일이 여러 번 포함되는 것을 방지하려면 (?) 문을 사용하여 대체할 수 있습니다.

    • require는 무조건 포함입니다. 즉, require가 프로세스에 추가되면 조건 여부에 관계없이 require가 먼저 실행됩니다. 파일이 없거나 파일을 열 수 없는 경우에는 오류 메시지가 표시되고 프로그램 실행이 종료됩니다.Include에는 반환 값이 있지만 require는 포함하지 않습니다. 포함된 파일이 존재하지 않으면 오류 메시지가 표시되지만 프로그램은 계속 실행됩니다

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

    require_once는 한 번만 포함되어 반복 포함을 피한다는 의미입니다

    • 15. MVC에 대한 이해에 대해 이야기해 보세요

    • 모델, 뷰 및 컨트롤러로 구현될 기능을 컨트롤러에 전달합니다. 조직 기능을 받아 뷰에 전달합니다

    16. PHP로 전달된 값을 설명하세요. 참조로 전달할 때와 참조로 전달할 때의 차이점은 무엇인가요?

    변수는 기본적으로 항상 값에 따라 할당됩니다. 즉, 표현식의 값이 변수에 할당되면 전체 표현식의 값이 대상 변수에 할당됩니다. 즉,

    하나의 값이 변수가 다른 변수에 할당됨 변수를 사용할 때 한 변수의 값을 변경해도 다른 변수에 영향을 주지 않습니다. PHP는 변수에 값을 할당하는 또 다른 방법인 참조 할당도 제공합니다. 이는 새 변수가 단순히 __references__

    (즉, 별칭 또는 포인터가 됨)

    원래 변수 를 의미합니다. 새 변수를 변경하면 원래 변수에 영향을 미치며 그 반대의 경우도 마찬가지입니다. 참조 할당을 사용하면 할당할 변수(소스 변수) 앞에 & 기호를 추가하기만 하면 됩니다.

    기본 개체는 참조로 전달하는 것입니다. 더 큰 데이터의 경우 참조로 전달하는 것이 메모리 오버헤드를 절약할 수 있습니다

    관련 추천 : PHP 면접 문제 요약

    PHP 고전 면접 문제 세트 PHP 고전 면접 문제 세트

    가장 완벽하고 상세한 PHP 면접 문제(답변 포함)

    위 내용은 2017년 최신 PHP 클래식 인터뷰 질문 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    이전 기사:PHP 면접 질문 요약다음 기사:PHP 면접 질문 요약