최신 클래식 PHP 인터뷰 질문 요약(1부)

黄舟
풀어 주다: 2023-03-06 17:52:02
원래의
1323명이 탐색했습니다.

본 글은 2017년 최신 PHP 클래식 면접 문제 요약(1부)을 중심으로 소개되어 있어 매우 좋고 참고할만한 내용이 있습니다.

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

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

  • 큰 따옴표 안에 작은 따옴표 안에 변수가 있는 경우 큰 따옴표 안에 변수 설명

  • 을 입력합니다. 뒤에 변수 이름 이 와야 합니다. 숫자, 문자 또는 밑줄이 아닌 특수 문자를 사용하거나 {}를 사용하여 변수를 묶습니다. 그렇지 않으면 변수 이름 뒤의 부분이 전체로 처리되어 문법 오류가 발생합니다.

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

  • 을 해석하면 작은따옴표 문자가 단일 문자를 사용하도록 만들 수 있습니다. 작은 따옴표는 큰 따옴표보다 효율적입니다. (큰 따옴표는 연산하기 전에 먼저 변수가 있는지 확인하기 위해 순회해야 하고 작은 따옴표는 판단할 필요가 없기 때문입니다)

2. 자주 사용되는 수퍼 전역변수(8)

  • $_GET ----->전송 방법 가져오기

  • $POST ----->포스트 전송 방법

  • $REQUEST ----->get 메소드와 post 메소드를 모두 받을 수 있음 Value

  • ***

  • $GLOBALS -----> ;모든 변수는

  • $FILE ----->

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

  • * **

  • $SESSION ----->세션 제어에 사용됩니다

  • $COOKIE - ---->

3 HTTP의 POST, GET, PUT 및 DELETE 메소드의 차이점

HTTP는 서버와 상호 작용하는 다양한 방법을 정의합니다. 가장 기본적인 방법은 POST, GET, PUT 및 DELETE입니다. 필수 URL의 전체 이름은 리소스 설명자입니다. url 설명 인터넷에서 리소스를 얻고, 이 리소스를 추가, 삭제, 수정, 확인하는 작업은 게시, 가져오기, 넣기, 위임입니다!

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

  • get은 매개변수 데이터 대기열을 제출 양식 작업 속성이 가리키는 URL에서 값은 양식의 각 필드와 일대일로 일치합니다. 이는 URL에서 볼 수 있으며, 게시물은 HTTPPOST 메커니즘을 사용하여 양식의 각 필드와 해당 내용을 방지합니다. URL 주소를 참조하면 사용자는 이 프로세스를 볼 수 없습니다.

  • get 메소드의 경우 서버측에서는 Request.QueryString을 사용하여 가져옵니다. post 메소드의 경우 서버 측은 Request.Form을 사용하여 가져옵니다.

  • get은 소량의 데이터를 전송하고 post는 대량의 데이터를 전송합니다. 데이터 양은 일반적으로 기본적으로 제한이 없지만 이론상 IIS4의 최대 용량은 80kb입니다. IIS5에서는 1000k입니다.

  • 보안 수준이 매우 낮습니다. 높음

3.2

  • GET 요청은 정보를 얻기 위해 데이터베이스에 데이터 요청을 보냅니다. 데이터베이스의 선택 작업입니다. 데이터를 쿼리하는 데만 사용되며 수정하거나 추가하지 않습니다. 데이터는 리소스의 내용에 영향을 미치지 않습니다. 즉, 요청에는 부작용이 없습니다. 몇 번을 해도 결과는 같습니다.

  • PUT 요청은 GET과 달리 서버에 데이터를 보내 정보를 변경합니다. 이 요청은 데이터베이스의 업데이트 작업과 동일하며 데이터의 내용을 수정하는 데 사용됩니다. 그러나 데이터 유형은 증가하지 않습니다. 즉, PUT 작업을 아무리 많이 수행해도 결과는 달라지지 않습니다.

  • POST 요청 은 PUT 요청과 유사하며 둘 다 서버에 데이터를 전송하지만 이 요청은 삽입과 마찬가지로 데이터 유형과 기타 리소스를 변경합니다. 데이터베이스의 작업은 동일하며 새 콘텐츠가 생성됩니다. 현재 거의 모든 제출 작업은 POST를 사용하여 요청됩니다.

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

4. PHP 소개

하이퍼텍스트 전처리기----하이퍼텍스트 전처리기

개인용 홈 페이지 원래 이름

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

HTML: Hypertext Markup Language

창업자: Rasmus Lerdorf, 1968년생, 캐나다 워털루 대학교

Ledov는 처음에 자신의 개인 웹페이지를 유지하기 위해 이전 언어로 유지 관리 프로그램을 작성한 다음 이를 c로 다시 작성하여 최종적으로 php/fi가 되었습니다.

타임라인:

  • PHP/FI는 1995.06.08

  • 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

공통 텍스트Editor, 코드 강조 표시 포함:

NodePad++
SublimeText

PHP 장점

PHP 기능:

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

  • CGI나 Prel보다 빠르게 동적 웹 페이지를 실행할 수 있습니다. PHP는 다른 프로그래밍 언어에 비해 HTML 문서에 프로그램을 내장하여 실행하며, HTML 편집을 완전히 생성하는 CGI보다 실행 효율성이 훨씬 높습니다.

  • 거의 모든 인기 데이터베이스 및 운영 체제 지원

  • PHP는 C, C++를 사용하여 프로그램 확장 가능

PHP의 장점:

  • 오픈 소스 코드

  • 무료

  • 빠름

  • 강력한 크로스 플랫폼

  • 고효율

  • 그래픽 처리

  • 객체 지향

  • 전문가 중심

PHP 기술 응용:

  • 정적 페이지 생성

  • 데이터베이스 캐시

  • 프로세스 캐시

  • p+css w3c표준

  • 큰 부하

  • 분산형

  • flex

  • 지원 MVC

  • 스마트 모듈 엔진

PHP 자격증 레벨

주니어 IFE: 인덱스 프론트 엔지니어 프론트엔드 엔지니어
중급 IPE: 인덱스 PHP 엔지니어 PHP 엔지니어
수석 IAE: 인덱스 아키텍처 엔지니어 아키텍처 엔지니어

6. echo, print_r, print와 var_dump의 차이점

rree

7. HTTP 상태 코드

여기에서 HTTP 상태 코드에 대한 자세한 설명을 확인하세요

일반적인 HTTP 상태 코드:

200 - 요청 성공
301 - 리소스(웹 페이지 등)가 다른 URL로 영구적으로 이스케이프됩니다.
404 - 요청된 리소스(웹 페이지, 등)이 존재하지 않습니다
505 - 내부 서버 오류
HTTP 상태 코드 분류:

1** - 정보, 서버가 요청을 수신하면 요청자가 작업을 계속 수행해야 합니다.
2** - 성공, 작업이 성공적으로 수신 및 처리되었습니다.
3** - 리디렉션, 요청을 완료하려면 추가 작업이 필요합니다.
4** - 클라이언트 오류, 요청에 구문 오류가 포함되어 있거나 요청에 완료할 수 없습니다.
5** 서버가 요청을 처리하는 동안 오류가 발생했습니다.

8. 마법의 인용문이란 무엇인가요?

마법의 따옴표는 PHP 스크립트에 입력되는 데이터를 자동으로 이스케이프하는 프로세스입니다. 인코딩할 때는 이스케이프하지 않고 런타임 중에 필요에 따라 이스케이프하는 것이 가장 좋습니다

9. 클라이언트 IP(int 필요) 및 서버 IP 코드를 가져오는 방법

클라이언트: $_SERVER["REMOTE_ADDR"]; 또는 getenv('REMOTE_ADDR')
변환을 위한 ip2long
서버측: gethostbyname('www.baidu.com')

10. 🎜 >

cvs, svn, vss,

git

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

MySQL 데이터베이스8가지 최적화 방법(클래식 필수) 클릭하여 가져오기

가장 적합한 필드 속성을 선택하고 정의 필드 너비를 최대한 줄인 후 시도해 보세요. '지방' 및 '성별'에는 ENUM을 사용하는 것이 가장 좋습니다.

하위 쿼리 대신 조인(JOIN) 사용
수동으로 생성한 임시 테이블 대신 유니온(UNION) 사용
트랜잭션 처리
테이블 잠금 및 트랜잭션 처리 최적화
외래 키 적용, 잠긴 테이블 최적화
인덱스 생성
쿼리 문 최적화

12. 템플릿 엔진을 사용해보신 적이 있나요? 사용된 템플릿 엔진의 이름은 무엇입니까?

Smarty: Smarty는 이 언어에서 템플릿을 사용하기 위해 처음 선택한 PHP 템플릿 엔진입니다. 업데이트 빈도가 낮고 차세대 템플릿 엔진의 일부 기능이 부족하지만 여전히 살펴볼 가치가 있습니다.

13. 트래픽이 많은 웹사이트의 경우 트래픽 문제를 해결하려면 어떤 방법을 사용해야 합니까?

서버 하드웨어가 지원할 수 있는지 확인하세요. 현재 트래픽
데이터베이스 읽기 및 쓰기 분리, 데이터 테이블 최적화
프로그램 기능 규칙, 외부 핫링크 금지
대용량 파일 다운로드 제어
다른 호스트를 사용하여 주요 트래픽 전환

14. includerequire의 차이점은 무엇인가요? 동일한 파일을 여러 번 포함하지 않으려면 (?) 문을 사용하여 파일을 교체할 수 있습니다.

require는 무조건 포함됩니다. 즉, require가 프로세스에 추가되면 조건의 true 여부에 관계없이 먼저 실행됩니다. require, 파일이 존재하지 않거나 열 수 없는 경우 오류 메시지가 표시되고 프로그램 실행이 종료됩니다.

include에는 반환 값이 있습니다. 그러나 require는 그렇지 않습니다(이 때문에 require가 include보다 빠름). 파일이 포함되어 있으면 오류 메시지가 표시되지만 프로그램은 계속 실행됩니다.

참고: require include 파일이 존재하지 않거나 구문 오류가 있을 때 치명적이지만, include는

require_once가 아닌 한 번만 포함되어 반복 포함을 방지합니다

15. mvc에 대한 이해 이야기하기

모델, 뷰, 컨트롤러로 완성된 애플리케이션 모델은 구현할 기능을 전달합니다. 컨트롤러는 조직 기능을 받아 뷰에 전달합니다

16. PHP에서 값 전달과 참조 전달의 차이점을 설명하고 참조 전달 시 설명 값으로 전달할 때?

변수는 기본적으로 항상 값으로 할당됩니다. 즉, 표현식의 값이 변수에 할당되면 전체 표현식의 값이 대상 변수에 할당됩니다. , 즉 참고: 한 변수가 다른 변수에 할당되면 한 변수의 값을 변경해도 다른 변수에 영향을 주지 않습니다.

php는 변수에 값을 할당하는 또 다른 방법인 참조 할당도 제공합니다. 즉, 새 변수는 단순히 원래 변수를 참조합니다(즉, 별칭이 되거나 이를 가리킵니다). 새 변수를 변경하면 원래 변수에 영향을 미치며 그 반대의 경우도 마찬가지입니다. 참조 할당을 사용하려면 할당할 변수(소스 변수) 앞에 & 기호를 추가하면 됩니다.

객체는 기본적으로 참조별 전달

데이터가 클수록 좋습니다. 참조로 전달하면 메모리 오버헤드가 절약됩니다

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿