최근 인터넷에서 PHP 인터뷰를 어떻게 해야 하는지 묻는 친구들을 많이 봤습니다. 이는 업무 경험이 있거나 실무 프로젝트가 있는 친구들에게는 문제가 되지 않지만, 막 PHP를 배운 친구들에게는 PHP 인터뷰 하지만 매우 중요한 단계입니다. , 그래서 오늘 PHP 중국어 웹사이트에서는 많은 프로그래머들이 인터뷰 중에 접하게 되는 PHP 인터뷰 질문에 대한 요약을 제공할 것입니다! 도움이 되길 바랍니다!
1부: PHP 기본 면접 질문
1. PHP 언어의 주요 장점 중 하나는 크로스 플랫폼입니다.
PHP 실행 환경의 최적 조합은 Apache+MySQL+PHP입니다. 이 실행 환경은 다양한 운영 체제(예: Windows, Linux 등)에서 구성할 수 있으며 운영 체제에 의해 제한되지 않으므로 크로스 플랫폼이라고 합니다
2. 어떤 웹 프론트엔드 기술을 마스터했는지 알려주세요.
DIV+CSS 웹 페이지 레이아웃, JavaScript, jQuery 프레임워크, 포토샵 이미지 처리에 능숙함
3. 요즘 프로그래밍에서 MVC 3계층 구조가 자주 사용됩니다. 장점은 무엇입니까?
MVC의 세 가지 계층은 각각 비즈니스 모델, 뷰 및 컨트롤러를 나타냅니다. 컨트롤러 계층은 모델을 호출하여 데이터를 처리한 다음 데이터를 뷰 계층에 매핑하여 표시합니다. ① 코드 재사용성을 확보할 수 있습니다. ②M과 V 구현 코드 분리를 통해 동일한 프로그램에서 서로 다른 표현식을 사용할 수 있습니다
4.
JSON(JavaScript Object Notation)은 경량 데이터 교환 형식입니다. json 데이터 형식은 고정되어 있으며 여러 언어로 데이터 전송에 사용할 수 있습니다.
json 형식을 처리하는 PHP의 기능은 다음과 같습니다. json_decode(string $json [, bool $assoc])는 JSON 형식 문자열을 받아들이고 이를 PHP 변수로 변환합니다. 매개변수 json은 디코딩할 json 문자열 형식 문자열입니다. assoc 이 매개변수가 TRUE이면 객체 대신 배열을 반환합니다.
Json_encode: PHP 변수를 json 형식으로 변환
5.
ajax는 부분 새로 고침을 달성하기 위해 javascript 또는 JQuery 프레임워크를 통해 구현할 수 있는 비동기 전송 기술로, 서버에 대한 부담을 줄이고 사용자 경험을 향상시킵니다
6. 프로그램의 실행 효율성을 향상시키려면?
① SQL 문을 최적화하고, 쿼리 문에서 select *를 사용하지 마세요. 어떤 필드를 사용하여 테이블 연결 대신 하위 쿼리를 덜 사용하세요.
3 프로그램에서 자주 사용되는 데이터에 대한 캐시를 생성합니다.
7. (함수의 '매개변수'와 '반환 값'에 중점을 둡니다)
①array()는 배열을 생성합니다.
②count()는 배열의 요소 수를 반환합니다. ) 하나 이상의 요소가 배열의 끝에 삽입됩니다(스택에 푸시됨).¼array_column()은 입력 배열의 단일 열 값을 반환합니다. 두 개의 배열을 병합하여 새 배열을 생성합니다.
7array_unique()는 배열에서 중복된 값을 제거합니다.
8in_array()는 지정된 값이 배열에 있는지 확인합니다.
8. PHP에서 문자열을 처리하는 데 일반적으로 사용되는 함수는 무엇입니까?
①trim()은 문자열 양쪽의 공백 문자와 기타 문자를 제거합니다.
②substr_replace()는 문자열의 일부를 다른 문자열로 바꿉니다. 문자열에 하위 문자열이 나타나는 경우가 있습니다.
⑤strtolower()는 문자열을 소문자로 변환합니다.
⑥strtoupper()는 문자열을 대문자로 변환합니다. ;
7strtr()는 문자열에서 특정 문자를 변환합니다.
8strrchr()는 다른 문자열에서 마지막으로 나타나는 문자열을 찾습니다. 다른 문자열에서 처음 나타나는 경우(대소문자 구분) strrev()는 문자열의 길이를 반환합니다. str_replace()는 문자열의 일부 문자를 바꿉니다(대소문자 구분). print()는 하나 또는 추가 문자열; 분해()는 문자열을 배열로 분해합니다. is_string()은 문자열에서 HTML 태그를 제거합니다. 중국어와 영어를 가로채는 함수입니다. 2부: PHP 면접 질문의 데이터베이스 부분
1. 일반적인
관계형 데이터베이스관리 시스템 제품은 무엇인가요?
답변: Oracle, SQL Server, MySQL, Sybase, DB2, Access 등
2. 거래란 무엇인가요? 그리고 그 특징은?
답변: 트랜잭션: 일련의 데이터베이스 작업이며 데이터베이스 애플리케이션의 기본 논리 단위입니다. 트랜잭션 특성: (1) 원자성: 즉, 불가분성, 트랜잭션이 모두 실행되거나 전혀 실행되지 않습니다.
(4) 지속성. 트랜잭션이 올바르게 제출되면 그 결과는 데이터베이스에 영구적으로 저장됩니다. 트랜잭션 제출 후 다른 실패가 발생하더라도 해당 트랜잭션의 처리 결과는 저장됩니다. 또는 다음과 같이 이해하십시오.
트랜잭션은 논리적 작업 단위로 함께 바인딩된 SQL 문 그룹입니다. 문 작업이 실패하면 전체 작업이 실패하고 향후 작업은 해당 작업으로 롤백됩니다. 작업 전 상태 또는 노드가 있습니다. 무언가가 실행되거나 실행되지 않도록 하기 위해 트랜잭션을 사용할 수 있습니다. 그룹화된 문을 트랜잭션으로 간주하려면 ACID 테스트, 즉 원자성, 일관성, 격리성 및 내구성을 통과해야 합니다. 3 char과 varchar의 차이점은 무엇입니까? 답변: 고정 길이 유형이고, varchar는 가변 길이 유형입니다. 차이점은 char(M) 유형의 데이터 열이며, 각 값은 M 바이트를 차지합니다. 특정 길이가 M보다 작으면 MySQL은 오른쪽에 공백 문자를 채웁니다. (패딩 공백 문자는 검색 작업 중에 제거됩니다.) varchar(M) 유형 데이터 열에서 각 값은 해당 길이를 기록하는 데 충분한 바이트와 1바이트만 차지합니다. 즉, 총 길이는 L+1바이트입니다. ). 4. MySQL 스토리지 엔진, myisam과 innodb의 차이점.
답변:
MyISAM은 테이블 잠금이 빈번하고 교착 상태가 없는 애플리케이션에 적합합니다. 작은 데이터, 작은 동시성에 적합합니다. 트랜잭션을 지원하는 스토리지 엔진; 삽입 및 업데이트 작업이 많은 애플리케이션에 적합합니다. 적절하게 설계되면 행 잠금입니다(가장 큰 차이점은 잠금 수준에 있습니다). 데이터 및 대규모 동시성.
5. 데이터 테이블 유형은 무엇입니까?
답변: MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV 등
MyISAM: 성숙하고 안정적이며 관리하기 쉽고 읽기 빠릅니다. 일부 기능(트랜잭션 등)은 테이블 수준 잠금을 지원하지 않습니다. InnoDB: 트랜잭션, 외래 키 및 기타 기능, 데이터 행 잠금을 지원합니다. 많은 공간을 차지하고 전체 텍스트 색인 생성 등을 지원하지 않습니다.3부: PHP 면접 질문 - 객체 지향
1. 객체 지향이란 무엇입니까? (이해를 가지고 대답하세요)
답변: 객체 지향 OO = 객체- 지향 분석 OOA + 객체 지향 설계 OOD + 객체 지향 프로그래밍 OOP는 "모든 것이 객체"이며 모든 것이 독립적인 객체(단위)로 간주되어 자체 기능을 완성할 수 있다는 것입니다. C와 같은 기능으로 나누어지지 않습니다.
현재 순수 OO 언어는 주로 Java와 C#입니다. PHP와 C++도 OO를 지원합니다.
2. private, protected, public 한정자의 접근 권한을 간략하게 설명합니다.
답변: private: Private 멤버는 클래스 내부에서만 접근할 수 있습니다.
protected: 보호된 멤버이며 클래스 및 상속된 클래스 내에서 액세스할 수 있습니다.
public: 공개 회원, 완전 공개, 접근 제한 없음.
3. 힙과 스택의 차이점은 무엇인가요?
스택은 컴파일 중에 할당되는 메모리 공간이므로 코드에서 스택의 크기를 명확하게 정의해야 합니다.
힙은 프로그램 실행 중에 동적으로 할당되는 메모리 공간입니다. 런타임은 할당할 힙 메모리의 크기를 결정합니다.
4. 객체지향의 특징은 무엇인가요?
답변: 주로 캡슐화, 상속, 다형성이 있습니다. 4가지 측면인 경우 추상화를 추가합니다.
5. 생성자는 무엇이며 소멸자는 무엇이며 그 기능은 무엇입니까?
답변: 생성자(메서드)는 객체가 생성된 후 객체가 자동으로 호출하는 첫 번째 메소드입니다. 이는 선언된 모든 클래스에 존재하며 특별한 member 메서드입니다. 그 기능은 일부 초기화 작업을 수행하는 것입니다. Php에서는 constructor()를 사용하여 생성자 메서드를 선언하는데 하나만 선언할 수 있습니다.
소멸자(메서드)는 생성자와 정반대입니다. 객체가 소멸되기 전에 자동으로 호출되는 마지막 메소드입니다. 파일 닫기 및 메모리 해제와 같은 객체를 파괴하기 전에 일부 특정 작업을 수행하는 데 사용되는 PHP5에 새로 추가된 콘텐츠입니다.
요약:
PHP 면접 질문은 회사마다 다릅니다. 여기에서는 친구들이 자주 접하는 PHP 면접 질문을 요약했지만, 요약 PHP 면접 질문을 기반으로 요약할 수도 있습니다. 자신을 확장하고 확장하십시오!
관련 추천:
위 내용은 2017년 PHP 면접 질문과 답변의 가장 포괄적인 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!