앞서 언급했듯이:
1. 프로그래밍 작업을 제외한 다음 질문은 제공된 메모지에 작성해야 합니다. 종이는 소중한 지구자원이니 아껴 쓰시기 바랍니다. 해당 환경이 있는 경우 프로그래밍 작업은 컴퓨터에서 작성해야 합니다. 조건이 없으면 밀짚 종이에만 작성할 수 있습니다.
2. 시간:
기본 작업 + 고급 작업 + 디자인 작업 = 90분
프로그래밍 작업 = 60분
기본 작업:
1. 생각나는 UNIX 신호를 나열해 주세요. 그리고 신호의 목적을 설명하십시오.
2. 생각나는 문자열 검색 알고리즘을 모두 나열하고 댓글로 간략하게 설명해주세요.
3. IP 주소(192.168.0.1)가 있습니다. 32비트 부호 없는 정수 형식으로 작성해 주세요.
4. 생각할 수 있는 모든 HTTP 반환 상태 값을 기록하고 그 용도를 설명합니다(예: 404를 반환하면 페이지를 찾을 수 없음을 의미)
기본 작업 선택(추가 점수를 얻습니다):
1. 가장 친숙한 몇 가지 서버 측 모델을 그립니다. (형식은 중요하지 않습니다. 그림을 명확하게 설명하고 아이디어를 설명하세요.)
고급 작업:
1. PHP의 가비지 수집 메커니즘?
지침:
1) PHP 소스 코드에 익숙하다면 소스 코드부터 시작하여 몇 가지 질문에 답하면 가산점을 얻을 수 있습니다.
2) PHP 소스 코드에 익숙하지 않은 경우 , 최선을 다하면 자신의 프로그래밍 직관을 사용하여 얻은 정보를 포함하여 더 많은 내용을 작성할 수 있습니다.
3) 맞으면 점수가 주어지고, 틀리면 감점되지 않습니다.
2. HTTP 헤더를 작성하고 다음 요구사항을 충족해주세요.
1) 게시물 요청입니다
2) 대상: http://www.example.com:8080/test
3 )POST 변수:
username: test
pwd: test2
intro: Hello world!
4) 다음 COOKIE 정보가 포함됩니다:
cur_query: you&me
설명:
1 ) 특정 HTTP 프로토콜의 명령어가 기억나지 않으면 대신 "한자"를 사용할 수밖에 없습니다.
2) HTTP 프로토콜 명령어를 더 많이 기억할 수 있다면 문장을 몇 개 더 써도 나쁠 건 없겠죠?
3) 가장 중요한 것은 올바른 "윤곽선"(httpwatch와 같은 도구로 인쇄된 헤더를 기억하시나요? 이것이 "윤곽선"의 의미입니다)을 그리는 것입니다. 포인트도 있겠지만, 만약 " " 개요'가 잘못 표기되어 있어 안타깝습니다.
디자인 작업:
1. 최근 투표 모듈을 괴롭히는 사람들이 항상 있는데, 투표 제한이 있는 디자인을 해야 합니다.
요구 사항은 다음과 같습니다.
1) 각 QQ 번호가 필요합니다. (이 QQ를 가정하면 UNIT32로 숫자를 표현할 수 있습니다.) 10분 이내에 5표만 투표할 수 있습니다.
2) 이 프로그램을 통해 매일 평균 약 2천만 명이 투표할 정도로 우리 사용자들은 매우 열성적입니다.
지침:
1) 코드를 작성할 필요 없이 그림과 텍스트만 있으면 됩니다.
2) 핵심논리는 그림과 코드를 활용하여 표현해 보시기 바랍니다. 이 역시 글쓰기 능력을 테스트하는 것입니다.
3) 생각할 수 있는 경계 조건을 모두 나열하세요. 이는 논리적 사고의 포괄성과 민첩성을 테스트하는 것입니다.
4) 보관에 최선을 다하세요. 직접 디자인한 스토리지 레이어가 필요한 경우 이 스토리지 레이어의 구현을 단어와 그림으로 명확하게 설명하세요. 디자인이 합리적이라면 멋진 보너스 포인트를 얻을 수 있습니다.
프로그래밍 작업:
1. 새로운 선교사가 하나님을 짜증나게 했습니다. 하나님은 우리에게 어떤 단어를 말할 때까지 성경(bbe.txt)을 암기하라고 하셨습니다. 이 단어가 어느 줄과 단어 위치에 있는지 답하세요. 당신은 훌륭한 프로그래머라고 들었습니다. 불가능한 일을 이룰 수 있도록 도와주세요.
요구사항은 다음과 같습니다.
1)/myworks/example/bbe.txt, 98버전 영어성경
2) 입력부분 요구사항은 다음과 같습니다. php ./example.php [단어]
3) 출력 부분은 다음과 같습니다. [Word] 1,2 2,4 5,6 의미: 이 단어는 행 1과 열 2(두 번째 단어), 행 2와 열 2에 있습니다...
설명:
1) 이 텍스트가 4MB 엄청납니다...
2) 단어의 의미: 영문자(대소문자)와 숫자(0~9)로 구성된 문자열
3) 제공해주신 기기의 OS는 ubuntu 9.10이고, 메모리는 1G에 불과하며, 안타깝게도 그 중 700M이 다른 용도로 사용되었습니다
4) 컴퓨터 기반 시험에서는 접근을 허용하지 않습니다. 인터넷이지만 CHM과 PDF를 읽을 수 있는 맨 문서와 리더를 컴퓨터 바탕 화면에 설치했습니다. 폴더에는 해당 PHP 참조 매뉴얼이 있습니다
5) 알고리즘 복잡도 요구 사항은 O( N^2) (즉, N의 제곱)
6) 뭐? PHP는 비효율적이고 사용하기 불편합니다. 다른 언어로도 할 수 있습니다. 하지만 참고하세요: 귀하에게 제공된 시스템에는 Python 2.4/perl 5.8/gcc[g] 4.1만 있습니다.
위 내용은 델파이 프로그래머 텐센트 QQ PHP 프로그래머 인터뷰 질문을 소개한 내용으로, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.