이 기사는 주로 중급 및 고급 PHP 면접 질문을 소개하며, 이제 모든 사람과 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다
관련 추천: "2019 PHP 면접 질문 요약(모음) 》
1. 네 개의 좌표점을 주고 직사각형을 형성할 수 있는지 판단합니다. 예를 들어 ([0,0],[0,1],[1,1],[1,0])이 직사각형을 형성할 수 있는지 판단합니다. 직사각형.
2. 단방향 연결 리스트에서 링이 형성되는지 확인하는 코드를 작성하세요. 링이 형성되면 링의 입구인 P
3를 찾으세요. 기사 내용에 있는 모든 사진을 다운로드하고
4. 현재 클라이언트의 IP 주소를 가져오고 그것이 (111.111.111.111, 222.222.222.222)인지 확인합니다.
5 nginx의 log_format 구성은 다음과 같습니다. 다음:
log_format main 'remoteaddr−remote_user [timelocal]"request"'
'statusbody_bytes_sent "httpreferer"""http_user_agent" "upstreamresponsetime""request_time" "http_x_forwarded_for"';
오늘의 nginx 로그 파일 access.log에서:
a. "request_time"의 가장 큰 20줄을 나열하세요.
b. 오전 10시에 가장 많이 방문하는 20개의 URL 주소를 나열하세요.
6.
7. 우리는 애플리케이션에서 10개의 데이터를 무작위로 가져와서 표시하는 방법을 간략하게 설명합니다.
8. 포커 카드에서 무작위로 5장의 카드를 뽑습니다. 즉, 이 5개의 카드는 연속입니다
9. 교차하는 두 개의 단방향 연결 목록의 첫 번째 공통 노드를 찾는 방법10. 가장 긴 공통 부분 수열 문제 LCS. 두 개의 배열 [1,2,5,11,32,15,77]과 [99,32,15,5,1,77]이 있는 경우 동일합니다. 가지고 있는 숫자를 사용하면 최적의 시간 복잡도로 코드를 작성할 수 있습니다. array_intersect를 사용할 수 없습니다(여기에는 함정이 있으며 동적 프로그래밍을 공부해야 합니다).
11. Linux
12. MYSQL의 기본 키와 고유 인덱스의 차이점
13 http 상태 코드와 그 의미
. 15. 리눅스에서 시스템 리소스 사용량을 확인하는 방법
16. SQL 인젝션의 원리는 무엇인가요? SQL 주입을 방지하는 방법
17. isset(null) isset(false)empty(null)empty(false) 출력
18. MYSQL을 최적화하는 방법
19.
20. 표준 URL에서 파일 확장자를 최대한 효율적으로 추출하는 함수를 작성하세요.
21. 매개변수는 여러 날짜와 시간의 배열이며 현재 시간에 가장 가까운 시간을 반환합니다.
22. echo, print 및 print_r의 차이점
23. http 프로토콜 헤더의 키와 의미는 무엇입니까?
24.
25. PHP 배열과 C 언어 배열의 차이점은 무엇입니까?
26. Redis의 점프 테이블은 어떻게 구현되나요?
27. 해시 충돌 후 데이터를 저장하는 방법은 무엇입니까?
28. 클러스터드 인덱스, 클러스터드 인덱스의 차이점은 무엇인가요?
29. B+Tree 검색은 어떻게 하나요?
30. 배열과 해시의 차이점은 무엇인가요?
31. 다음 확장 기호가 닫혀 있는지 확인하는 함수를 작성하세요. 왼쪽과 오른쪽 대칭은 닫혀 있음을 의미합니다. ((())),)(()),(()))), ((((( ))), (()()), ()()
32 배열 [1,2,3,3,2,1,5]
33에서 고유한 값을 찾습니다. 32번 질문은 얼마입니까? 알고리즘을 작성하면 면접관이 알고리즘의 시간 복잡도 표현을 적어달라고 요청하는 경우도 있습니다
34. 이 약한 유형의 변수는 PHP에서 어떻게 구현되나요?
35. HTTP 통신 중에 클라이언트나 서버의 연결이 끊어지나요?
36. PHP에서 http 요청을 시작하는 방법은 무엇입니까? 차이점은 무엇입니까?
37. 이진 트리가 있습니다. 루트 노드에서 플래그 노드까지의 최단 경로를 찾아 출력하는 코드가 있습니다. 예를 들어 아래 트리의 6과 14는 플래그 노드입니다. 8, 3, 6과 8, 10, 14
38이라는 두 개의 파일이 있는데 둘 다 1G를 초과합니다. 한 줄에 하나의 데이터가 있으며, 각 데이터 줄은 500바이트를 초과할 수 없습니다. 두 파일의 내용 중 일부가 정확히 동일한 줄을 찾아서 새 파일에 쓰십시오. PHP의 최대 허용 크기는 255M입니다.
39. 콜백 처리를 지원하는 PHP 함수를 2개 이상 작성하고, 콜백을 지원하는 PHP 함수를 직접 구현해 주세요
40. 메소드(코드 또는 아이디어)를 2개 이상 작성해 주세요.
41. 파일 이름 접미사를 가로채는 방법이나 함수를 세 가지 이상 적어주세요. (PHP 기본 함수와 자체 구현 함수 모두 허용됩니다.)
42. 내장된 쿠키 기능 없이 PHP가 클라이언트에 쿠키를 발행하는 방법은 무엇입니까? . 분산 시스템의 경우 세션 값을 저장하는 방법.
43. SHELL을 사용하여 5분 이내에 nginx 로그에서 가장 많이 방문한 URL 주소를 계산하세요.
44. 지정된 mysql 라이브러리(예: 테스트)를 지정된 폴더에 백업하고 패키지화하고 30일 전 백업을 삭제한 다음 새 백업을 원격 서버에 푸시하고 다음과 같은 경우 이메일 알림을 보내는 쉘 스크립트를 작성하십시오. 완전한.
45. mysql 데이터베이스의 innodb와 myisam 엔진의 차이점
46. 사용자가 브라우저에 URL을 입력하고 Enter 키를 누르면 전체 회의가 표시되는 과정은 무엇입니까?
47. SQL 문의 성능을 분석하는 방법.
48. 서버에 대한 ping이 실패하는 경우 라우팅 패킷을 추적하는 데 사용해야 하는 명령은 무엇입니까?
linux:traceroute,windows:tracert
49, $a=[0,1,2,3] $b=[1,2,3,4,5] $a+=$b; ) 무엇과 같나요?
50.$a=[1,2,3]; foreach($a as &$v){} foreach($a as $v){} var_dump($a)는
51과 같습니다. 데이터베이스 사용자 ID와 많은 추론 행이 Redis에 저장됩니다. 이제 데이터베이스의 추론 기록을 Redis에 동기화하고 5분마다 실행하는 스크립트를 작성해야 합니다. 어떤 문제를 고려해야 합니까?
52. MYSQL 마스터 및 슬레이브 서버. 마스터 서버가 innodb 엔진이고 슬레이브 서버가 myisam 엔진인 경우 실제 응용에서는 어떤 문제가 발생합니까?
53. Linux의 프로세스 신호는 무엇입니까?
54, redis
의 기본 구현55, 비동기 모델
56, 10g 파일, PHP를 사용하여 라인 수 확인
57, 10억 개의 주문 데이터가 있으며, 1000개의 드라이버에 속합니다. 주문량 기준 상위 20개의 드라이버를 꺼내세요
58, design one WeChat 빨간 봉투
59의 기능, access.log 파일에 따르면 지난 5초의 qps를 계산하고 다음 형식으로 표시합니다. 01 1000 (난이도는 01 일련번호에 있음)
60. php7의 성능이 이렇게 좋아진 이유는 무엇인가요?
61. 다차원 배열 탐색
62. 임의의 길이를 갖는 abcdefgkbcdefab이라는 문자열이 있습니다. 이 문자열
63. 1G 크기의 파일이 있는데, 한 줄씩 들어있습니다. 워드이고, 워드 크기는 16바이트를 넘지 않으며, 메모리 제한은 1M입니다. 빈도가 가장 높은 100개 단어 반환
65, PHP 프로세스 모델, PHP가 다중 동시성을 지원하는 방법
66, nginx 프로세스 모델, 다중 동시성을 지원하는 방법
67, php-fpm 구성 의미, fpm의 데몬화 모드
static - 하위 프로세스 수가 고정됨(pm.max_children)
ondemand - 수요가 있을 때만 프로세스가 생성됨(요청 시, 동적과 반대로 pm.start_servers 서비스가 시작될 때 시작됩니다
dynamic - 하위 프로세스 수는 pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers
68 구성을 기반으로 동적으로 설정되므로 간단한 아키텍처를 구현할 수 있습니다. 그리고 고가용성을 유지하고, 하나는 텍스트를 업로드하고 다른 하나는 업로드된 콘텐츠를 가져오는 데 사용합니다. 단일 컴퓨터실 오류를 방지하는 동시에 코드 수준을 구분하지 않도록 하려면 어떻게 해야 할까요? 두 개의 mysql 서버 중 하나입니다. 스테이션이 다운되면 비즈니스가 어떻게 의미 없이 전환되고 포디움 서버의 데이터가 정상적인 상황에서 일관성을 보장할 수 있습니까? 잠금이란 무엇이며 잠금 문제를 해결하는 방법
72. rand와 mt_rand의 차이점
73. mysql 트랜잭션 격리는 어떻게 구현되나요? 75. 대칭 암호화 및 비대칭 암호화 방법은 무엇인가요? 76. 물 10병, 그중 하나는 독성이 있는 물을 마신 후 23시간 59분 후에 중독되어 사망합니다. 24시간 이내에 이 물병을 찾으려면 가장 적은 수의 쥐를 사용하세요.
관련 추천 :
위 내용은 중급 및 고급 PHP 인터뷰 질문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!