이 글은 참고할만한 가치가 있는 PHP 면접 지식 포인트를 주로 소개합니다. 이제 도움이 필요한 친구들이 참고할 수 있습니다.
# 🎜🎜#복사해서 목차를 만들어 보세요. 구체적인 사항은 잘 모르기 때문에 목록에 있는 문제들을 천천히 공부해 볼 생각입니다#🎜🎜 ## 🎜🎜#중국 PHP 면접 모범사례
이 창고는 주로 국내 PHP 면접에서 자주 묻는 지식 포인트를 요약한 것입니다. 지식 포인트만 타겟 방식으로 지적하고, 스스로 관련 정보를 찾아 체계적으로 공부해야 합니다. 그것이 무엇인지뿐만 아니라 그 이유와 그 뒤에 숨은 원리도 이해할 수 있기를 바랍니다.
해당 지식 포인트에 대한 매우 체계적인 정보가 있다면 PR에 링크를 추가하는 것도 환영합니다. 포크를 사용하는 것은 권장되지 않습니다. 정보는 언제든지 업데이트됩니다.기본장지금 다음과 같은 상황에 처해 계시다면 이 정보가 매우 적합합니다. 어디서부터 시작해야할지 모르겠나요? 필드가 얼마나 깊은지 모르겠어요
#🎜🎜 #static, $this, self 차이
- # 🎜🎜#
대부분의 배열 처리 함수 이해
- #🎜🎜 #
문자열 처리 함수(차이 mb_ 계열 함수)
- & 인용문, 사례분석 결합
== 차이점 === 🎜🎜#모든 마법함수 이해#🎜 🎜#
- private, protected, public과 final의 차이
- OOP 사고
- 추상 클래스와 인터페이스는 별도로 사용됩니다
# 🎜🎜#What 🎜🎜#__construct와 __destruct의 차이점
정적 함수(클래스와 함수 구분)
- # 🎜🎜#__toString () 함수
- 작은따옴표
Difference
공통 HTTP 상태 코드, 의미는 무엇인가요?
301 404는 무엇을 의미하나요?
고급 기사
자동 로드, Composer 원칙
세션 공유, 생존 시간
예외 처리
객체 반복 방법
변형 방법 작업 객체 $obj[ key ]
오브젝트 $obj(123)를 기능화하는 방법;
yield가 무엇인지, 사용 시나리오를 알려주세요
PSR이 무엇인지, PSR-1, 2, 4, 7을 얻는 방법
클라이언트 IP 및 서버 IP 주소
PHP 예외 프롬프트 여는 방법
301 리디렉션을 반환하는 방법
확장 프로그램 설치 경로를 얻는 방법
문자열과 숫자의 원리 비교, 0으로 시작하는 8진수, 0x로 시작하는 16진수
BOM 헤더는 무엇이며 이를 제거하는 방법은 무엇입니까? MVC란 무엇입니까? 템플릿 엔진이 해결하는 문제는 무엇이며 구현 원칙(Smarty, Twig) , Blade)
체인 작업 구현 방법
$obj->w()->m( )->d();
Xhprof 및 Xdebug 성능 디버깅 도구는
index array
[1, 2]
배열차이점은 무엇인가요
연습
2차원 배열이 주어졌을 때 특정 필드에 따라 정렬
$obj->w()->m()->d();
Xhprof 、Xdebug 性能调试工具使用
索引数组
[1, 2]
与关联数组['k1'=>1, 'k2'=>2]
有什么区别实践篇
给定二维数组,根据某个字段排序
如何判断上传文件类型,如:仅允许 jpg 上传
不使用临时变量交换两个变量的值
$a=1; $b=2;
=>$a=2; $b=1;
strtoupper 在转换中文时存在乱码,你如何解决?
php echo strtoupper('ab你好c');
- 결정하는 방법 업로드된 파일 형식: jpg 업로드만 허용됩니다
- 임시 변수를 사용하여 두 변수의 값을 교환하지 마세요.
$a=1 ; =2;
=>$a=2; $b=1;
🎜🎜strtoupper 중국어를 변환할 때 문자가 깨져서 나오는 경우가 있습니다. 해결해?php echo strtoupper('ab hello c');
🎜🎜🎜🎜Websocket, Long-Polling, Server-Sent Events(SSE) 차이점🎜🎜🎜🎜"헤더가 이미 있습니다. 전송됨' 오류의 의미와 이를 방지하는 방법🎜알고리즘
퀵 정렬(손글씨)
버블 정렬(손글씨)
이진 검색(이해)
검색 알고리즘 KMP(이해)
깊이, 넓이 우선 검색 (이해)
LRU 캐시 제거 알고리즘(이해, Memcached는 이 알고리즘을 사용함)
데이터 구조(이해)
힙 및 스택 특성
queue
hash Table
링크된 목록
비교 기사
Git과 SVN의 차이점
쿠키와 세션의 차이점
GET
및/code> 차이점<code style='font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05)'>GET
与POST
区别
include
与require
区别
include_once
与require_once
포함
및필수
차이점include_once
및require_once
차이점- Memcached와 Redis의 차이점
- MySQL 스토리지 엔진과 차이점(확실히 차이점을 물어보세요) MyISAM 및 Innodb)
- HTTP와 HTTPS의 차이점
- Apache와 Nginx
- define()과 const의 차이점 특성과 인터페이스의 차이점과 특성으로 해결되는 문제점은 무엇입니까?
- 데이터베이스 기사🎜🎜MySQL🎜
이해를 위한 핵심 포인트
Index, 공동 인덱스(적중 조건)
하위 데이터베이스 및 하위 테이블(
가로 테이블
,세로 테이블
)水平分表
、垂直分表
)分区
会使用
explain
分析 SQL 性能问题,了解各参数含义Slow Log(有什么用,什么时候需要)
重点理解
type
、rows
、key
CRUD
JOIN、LEFT JOIN 、RIGHT JOIN、INNER JOIN
UNION
GROUP BY + COUNT + WHERE 组合案例
常用 MySQL 函数,如:now()、md5()、concat()、uuid()等
1:1
、1:n
、n:n
- Partition
- 은
설명
SQL 성능 문제를 분석하고 각 매개변수의 의미를 이해합니다. 로그(무엇을 위해 사용되는지, 언제 필요한지 포함)유형
,/code>, <code style=" 글꼴 계열: SFMono-Regular, Consolas, " liberation mono menlo courier monospace color: rgba>키
- CRUD
- JOIN, LEFT JOIN, RIGHT JOIN, INNER JOIN
UNION
ClusterCluster
- GROUP 으로 + COUNT + WHERE 조합 사례
- 일반적으로 사용되는 MySQL 함수: now(), md5(), concat(), uuid() 등
1 :1
、1:n
,n:n
각 적용 가능한 시나리오를 이해하세요 트리거가 무엇인지 알려주고 사용 시나리오를 알려주세요- 데이터베이스 최적화 방법
MSSQL(이해)
- 최신 5개 데이터 쿼리
- NOSQL
- 끈기
- 여러 데이터 유형 지원
- 사용 가능한 CPU 멀티 코어
- 메모리 제거 메커니즘
SQL 지원
- 성능 비교
- 거래 지원
- 응용 시나리오
- Redis, Memcached, MongoDB
- 비교 및 적용 시나리오(다음 차원에서 비교 가능)
- 이전에는 어떤 문제를 해결하기 위해 무엇을 사용했으며, 왜 그것을 선택했나요?
- 서버 장
- CPU, 메모리, 시간, 시스템 버전 및 기타 정보 보기
- find 및 grep으로 파일 찾기
- awk로 텍스트 처리
- 파일이 있는 디렉터리 보기 명령이 있습니다
- PHP를 직접 컴파일해 본 적이 있나요? readline 기능을 켜는 방법🎜🎜PHP 프로세스의 메모리 및 CPU 사용량을 확인하는 방법🎜🎜🎜🎜PHP에 확장을 추가하는 방법🎜🎜🎜🎜PHP 세션 저장 위치를 수정하고 INI 구성 매개변수를 수정합니다. 🎜🎜🎜🎜로드 밸런싱이란 무엇입니까? 익숙한 것을 선택하고 그 원리를 설명하세요🎜🎜🎜🎜데이터베이스 마스터-슬레이브 복제 MS는 어떻게 동기화됩니까? 밀거나 당길까요? 동기화되지 않을까요? 어떡해🎜🎜🎜🎜데이터의 가용성을 보장하는 방법은 삭제되더라도 1분 단위로 복원이 가능합니다. 당신은 무엇을 할 것인가? 🎜🎜🎜🎜데이터베이스 연결이 너무 많아 최대값을 초과했습니다. 아키텍처를 최적화하는 방법입니다. 어떤 편의로 처리할 수 있나요? 🎜🎜🎜🎜502 가능한 이유는 무엇인가요? 504 문제를 해결하는 방법은 무엇입니까? 🎜
아키텍처
Framework
부분 운영 및 유지 관리(이해):
로드 밸런싱(Nginx, HAProxy, DNS)
마스터-슬레이브 복제(MySQL, Redis)
데이터 중복성, 백업(MySQL 증분, 전체 원칙)
모니터링 및 검사(생존 및 서비스 가용성의 두 가지 차원)
MySQL, Redis, Memcached 프록시, 클러스터 목적 및 원칙
샤딩
고가용성 Cluster
RAID
소스 코드 컴파일, 메모리 튜닝
caching
직장에서 캐싱이 필요할 때마다 그 이유를 간략하게 설명하세요
- 성능 튜닝
- 차원별 모니터링 솔루션
- 로그수집 중앙처리 솔루션
- 국제화
- 데이터베이스 설계
- 정적 솔루션
- 공통 그리기 PHP 애플리케이션 아키텍처 다이어그램
디자인 패턴
- ThinkPHP(TP), CodeIgniter(CI), Zend(비OOP 시리즈)
- Yaf, Phalcon(C 확장 시스템)
- Yii, Laravel, Symfony(순수 OOP 시리즈)
- Swoole, Workerman(네트워크 프로그래밍 프레임워크)
- 비교 프레임워크는 여러 방향에서 다릅니다
- 순수 OOP인지 여부
- 클래스 라이브러리 로딩 방법(자동 로드 비교 작곡가 표준 작성)
- Ease 사용 방향 (CI 기본 프레임워크, Laravel은 개발 효율성이 높은 프레임워크 및 기본 구성 요소입니다)
- 블랙 박스 (C 확장 시스템과 비교)
- 실행 속도 (예: Laravel은 많은 것을 로드합니다)
- 메모리 사용량
보안 장
- 단일 케이스 패턴(강조)
- 팩토리 패턴(강조)
- 관찰자 패턴(강조)
- 종속성 주입(핵심 사항)
- 데코레이터 모드
- 프록시 모드
- 결합 모드
보안 세션 ID(차단 후에도 시뮬레이션할 수 없도록)
- SQL 주입
- XSS 및 CSRF
- 입력 필터링
- 쿠키 안전
Disabled
mysql_
시스템 기능mysql_
系函数数据库存储用户密码时,应该是怎么做才安全
验证码 Session 问题
安全的 Session ID (让即使拦截后,也无法模拟使用)
目录权限安全
包含本地与远程文件
文件上传 PHP 脚本
eval
函数执行脚本
disable_functions
- 데이터베이스에 사용자 비밀번호가 저장될 때 안전하게 보관하려면 어떻게 해야 하나요?
- 인증 코드 세션 문제
고급 기사
- 디렉터리 권한 보안
- 로컬 및 원격 파일 포함
- 파일 업로드 PHP 스크립트
- eval 함수 실행 스크립트
disable_functions
고위험 기능을 끄세요- FPM 독립 사용자 및 그룹 각 디렉터리에 대한 특정 권한
- 해시와 암호화의 차이점 이해하기
- PHP 배열 기반 구현(HashTable + Linked list)
- 쓰기 원칙, GC 시점에 복사
- PHP 프로세스 모델, 프로세스 통신 방법, 프로세스 스레드의 차이점 i 수율의 핵심 원리는 무엇입니까?
- Pdo 준비 원리
- Php 7과 PHP 5 Swoole의 차이점은 무엇입니까? DOM 노드, 속성
- 박스 모델
- CSS 파일, 스타일 태그, 인라인 스타일 속성 우선순위
- HTML 및 JS 실행 순서(JS 페이지에서 위에서 아래로)
- JS를 기본적으로 가져옵니다. 배열 연산
- 유형 판단
- 이 범위
- .map() 및 이 특정 사용 시나리오 분석
- 쿠키 읽기 및 쓰기
- JQu ery 연산
Ajax 요청( 동기식과 비동기식의 차이) 난수는 캐싱을 금지합니다
부트스트랩의 장점은 무엇인가요
도메인 간 요청을 위한 N 솔루션
새로운 기술(이해)
- ES6
- 모듈식
Packaging
- 빌드 도구
- vue, 반응, 웹팩,
- 프런트 엔드 mvc
최적화
단일 도메인 이름에 대한 동시 브라우저 제한
정적 리소스 캐싱 304(If-Modified-Since 및 Etag 원칙)
- 여러 개의 작은 아이콘을 병합하고 위치 위치 지정 기술을 사용하여 요청을 줄입니다.
- 정적 리소스를 단일 요청으로 결합하여 압축합니다
CDN
정적 리소스 지연 로딩 기술, 프리로딩 기술
🎜🎜🎜keep-alive🎜🎜🎜🎜CSS는 헤드, JS는 테일 최적화(원칙)🎜🎜🎜🎜🎜네트워크 기사🎜 🎜🎜🎜 INT에 대한 IP 주소 🎜192.168.0.1/16 무슨 뜻인가요?
DNS의 주요 기능은 무엇인가요?
IPv4와 v6의 차이점
네트워크 프로그래밍
#🎜 🎜 #
- TCP 3방향 핸드셰이크 프로세스
- TCP와 UDP의 차이점, 각각 적용 가능한 시나리오
# 🎜🎜# 예 UDP 고가용성을 보장하는 방법(이해)- TCP 고정 패킷을 해결하는 방법은 무엇입니까?
- 심장박동이 필요한 이유는 무엇인가요?
- 긴 연결이란 무엇인가요?
- HTTPS는 어떻게 보안을 보장하나요?
- 스트림과 데이터그램의 차이점
- 프로세스 간에 통신하는 방법에는 여러 가지가 있습니다. 가장 빠른?
fork()
어떻게 될까요? RESTful이란 🎜🎜#삭제
요청한 브라우저에서 호환 가능삭제
요청- #🎜 🎜#
fork()
会发生什么?API 篇
RESTful 是什么
如何在不支持
DELETE
请求的浏览器上兼容DELETE
请求常见 API 的
APP_ID
APP_SECRET
主要作用是什么?阐述下流程API 请求如何保证数据不被篡改?
JSON 和 JSONP 的区别
数据加密和验签的区别
RSA 是什么
API 版本兼容怎么处理
限流(木桶、令牌桶)
OAuth 2 主要用在哪些场景下
JWT
PHP 中
json_encode(['key'=>123]);
与return json_encode([]);
Common API의APP_ID
APP_SECRET
주요 기능은 무엇입니까? 프로세스를 설명하세요API 요청 중에 데이터가 변조되지 않도록 하려면 어떻게 해야 하나요?
JSON과 JSONP의 차이점
- 데이터 암호화와 서명 확인의 차이점
#🎜 🎜#
#🎜🎜#RSA란 무엇인가요?(나무 버킷, 토큰 버킷) #🎜🎜##🎜🎜##🎜🎜##🎜🎜#OAuth 2는 주로 어떤 시나리오에서 사용되나요? 🎜🎜##🎜🎜##🎜🎜##🎜🎜# JWT#🎜🎜##🎜🎜##🎜🎜##🎜🎜#PHP 중간json_encode(['key' =>123]);
및return json_encode([]);
차이점, 어떤 문제가 발생합니까? 해결 방법 #🎜🎜##🎜🎜##🎜🎜##🎜🎜#보너스 포인트#🎜🎜##🎜🎜##🎜🎜##🎜🎜#공통 언어 기능과 다양한 시나리오에 대한 적용 가능성을 이해합니다. #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#PHP VS Golang#🎜🎜#PHP VS Python
PHP VS JAVA
PHP 확장 개발 이해
C에 능숙
면책조항
이 정보는 특정 회사에 국한되지 않습니다. 귀하에 관한 정보 우리는 영향에 대해서는 책임을 지지 않으니 주의하시기 바랍니다.
행운을 빕니다
위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!
관련 권장 사항:
php 전문가 공유: PHP 코드 작성 사양, 매우 포괄적인 요약
PHP 객체 지향 설계(SOLID)의 5가지 원칙 요약
위 내용은 PHP 인터뷰 지식 포인트 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!