>백엔드 개발 >PHP 튜토리얼 >팬 형제의 인터뷰 경험

팬 형제의 인터뷰 경험

WBOY
WBOY원래의
2016-08-10 08:48:35995검색
Sinaphp splautoloadfile_get_contents두 개의 배열 $a, $b 판단 tp와 Smarty의 차이점Apache가 연 포트를 보기 위한 Linux 명령Apache와 nginx의 차이점... Jingdong작성된 시험 문제:
  • 정수 n을 입력하고 m, m>를 찾습니다. ;9, m 각 숫자의 곱 = n의 가장 작은 정수(예: n=36, m=49;
  • 이진 트리의 선주문 순회 비재귀 구현(이 기사 요약) )
  • n번째 숫자를 찾으세요. 이 수열은 (2^i)*(3^j)*(5^k)를 충족하며 처음 7은 2,3,4,5,6,8입니다. ,10...
  • 시간이 없어서 풀지 못한 세 번째 추가 알고리즘 문제를 제외하고는 전체적으로 특별히 어렵지는 않습니다. 나머지 두 문제와 여러 문제는 꽤 괜찮은 것 같아요. 선택 질문
    한쪽:
  • PHP에는 여러 스레드가 있습니까(아니요, 하지만 다른 방법으로 구현할 수도 있음), PHP를 이해하는 방법
  • 정적 페이지 파일의 경우 ngnix 측 또는 서버 측에 배치됩니다(ngnix 처리 정적 페이지 성능은 apache보다 3배 이상 빠르므로 ngnix에 직접 배치)
  • PHP 작성 인터페이스, 통신 방법, 소켓, http 통신 구현
  • 둘 다 두 컴퓨터가 어떻게 통신합니까? 브라우저가 URL을 입력한 후 페이지가 렌더링될 때까지, 중간 서버는 어떤 과정을 거치나요?
  • PHP를 클라이언트 인터페이스로 사용할 때 주의해야 할 사항(데이터 암호화, json 전송 등)
  • PHP의 특징은 무엇인가요? json 형식 데이터(보안을 보장할 수 없음, 모든 언어에 대한 통일된 키-값 처리 사양)
  • 인증 코드는 안전합니다. Google은 다른 사이트를 크랙합니다
  • md5는 어떻습니까 반전, 원리 암호화와 다른 암호화 방식의 역전
  • 인증코드의 원리. 인증코드의 구현 원리. 인증코드가 서버 세션에 저장되어 있는 경우, 서버가 클라이언트와의 연결을 끊었다가 다시 연결하는 경우(세션이 만료된 경우) 제출 후 인증코드의 정확성을 판단하는 방법( 클라이언트에서 서버측과 동일한 sessionid가 js측에서 구성되며 제출 시 서버측 세션id와 일치합니다.)
  • 데이터베이스 기본 키를 이해하는 방법, 인덱스인가요?
  • 데이터베이스 구축 시 주의할 점(테이블 중복성, 기본 키, 외래 키, 인덱스, 필드...)
  • 데이터베이스 트랜잭션이란 무엇인가요?
  • 주문이 진행되는 경우 배치하고 사용자의 은행 카드 상태를 사용 중 상태 1로 변경한 후 다음 결제를 하십시오. 주문 상태 수정 시 갑자기 네트워크 연결이 끊어지면 어떻게 해야 합니까? (면접관은 대답을 기대합니다: 즉시 롤백하지 않을 것이지만, 여기에서 여러 번 다시 시도해 보고 그래도 실패하면 롤백하세요.
  • 요청량이 상대적으로 클 경우 성능 향상을 위해 어떤 측면을 최적화해야 하는지(캐싱, 페이지 정적화, SQL 최적화, 테이블 구조, 수평적) 분할, 수직 분할)
  • 일반적인 Linux 명령(파일 작업 명령, vim 명령, 시스템 명령)
  • Javascript와 jquery의 차이점
  • 학교 활동, 개인 성격, 업무 지역 조정, 급여 등...
  • Tencent 백엔드 개발 인터페이스

    2. 파일은 무엇을 위해 사용됩니까?

    답변: 프로그램이 충돌한 후 마지막 스택 정보는 프로그래머가 프로그램이 충돌하기 전 마지막 스택 정보를 쉽게 이해할 수 있도록 코어 파일에 저장됩니다.

    다음 질문: 프로그램이 코어화되어 있지만 코어 쿼리가 생성되지 않는 경우 그 이유는 무엇입니까?

    답변: 코어 파일 생성 스위치가 켜져 있지 않습니다. ulimit -c unlimit

    후속 질문: 프로그램에 문제가 있어 코어 파일을 사용하지 않고 신호가 생성되는 경우를 알고 계십니까?

    답변: 당시에는 혼란스러웠는데 지금 생각해보면 프로세스에 신호를 보내는 것은 커널일 뿐입니다. 대답하지 않았습니다.

    3. 동기화를 사용하지 않고도 공유 메모리를 안전하게 읽고 쓸 수 있나요?

    답변: 이 질문은 왜 포크에 연결되었는지 모르겠습니다. 이 질문은 작동하지 않습니다. 공유 메모리는 중요한 영역이므로 동기화해야 합니다. 그렇지 않으면 두 프로세스가 동시에 메모리 영역을 작동하는 경우 문제가 발생합니다. 읽기-쓰기 잠금은 동기화에 사용될 수 있습니다.

    4. 포크 후 하위 프로세스는 상위 프로세스로부터 무엇을 유지합니까?

    답변: 자식 프로세스의 메모리 영역은 부모 프로세스의 복사본이며, 열린 파일 설명자 등도 상속됩니다. 실제로 실제 사용자 ID, 유효 사용자 ID, 현재 작업 디렉터리, 저장소 매핑 등 더 많은 것들이 있습니다.

    5. 파일 매핑 외에 메모리를 공유하는 방법이 있나요?

    답변: 공유 메모리 개체 매핑입니다.

    다음 질문: 둘의 차이점은 무엇인가요?

    답변: 모르겠습니다.

    6. TCP는 흐름 제어를 어떻게 구현하나요?

    답변: 피어가 창 크기를 알려줍니다. 로컬 끝에서 전달되는 데이터의 양은 창 크기보다 작습니다. (더 좋은 방법은 피어에게 로컬 창의 크기를 알려주는 것입니다. 피어가 전송하는 데이터의 양은 창보다 작아야 합니다.)

    다음 질문: 창 크기를 어떻게 알 수 있나요?

    답변: ACK 메시지에 있습니다.

    7. 프로그래밍 질문(몰랐어요~)

    질문: 매우 긴 문자열로 표현되는 10진수(2^32보다 큼)를 16진수 문자열로 변환합니다. ?

    간지닷컴 인터뷰 요약

    인터뷰 채널 : Partner@伟Ran内投techpractice position면접 시간 : 8월 14일 오후 13시 30
    1차 면접 :
    면접 방식 : 2대1(기술리더 및 프론트엔드 담당자)프로세스 내레이션: 묻는 질문은 PHP, 알고리즘 데이터 구조, 디자인 패턴, 프런트 엔드, 데이터베이스, Linux 등 매우 광범위합니다. 다음 내용이 포함될 수 있습니다.
  • 문자열이 null인 경우 isset과 공백의 차이
  • ==와 ===의 차이점
  • PHP 매직 메소드는 무엇이며 무엇입니까?
  • 어떤 배열 함수를 사용했나요? array_merge와 in_array의 함수는 무엇인가요?
  • 일반적인 정렬 알고리즘과 검색 알고리즘은 무엇인가요? 목록, 힙, 스택을 직접 구현해 보셨나요? 아니면 그냥 읽어 보세요
  • 퀵 정렬(nlogn n 제곱)의 최고 및 최악의 시간 복잡도에 대해 이야기해 보겠습니다.
  • 퀵 정렬의 원리를 간략하게 설명하세요. sort 인터뷰 전 일반적인 알고리즘과 데이터를 숙지하는 것이 가장 좋습니다. 구조, 시간 복잡도는 무시할 수 없습니다
  • 이진 검색의 원리와 시간 복잡도(logn) 시간 복잡도 첫 번째 대답은 틀렸습니다
  • 익숙한 디자인 패턴은 무엇인가, 손글씨 디자인 패턴(당시 싱글톤을 작성 중이었습니다)
  • 데이터베이스의 인덱스는 무엇인지, 데이터베이스 엔진의 차이점(MyIsam) 및 InnoDB)
  • 공동 인덱스와 기본 키의 차이점을 설명합니다(기본 키 인덱스와 혼동됨, 囧..)
  • 데이터베이스 테이블 최적화 방법, 테이블 생성 시 주의사항 및 원칙, 공통 데이터베이스 필드 유형
  • SQL 삽입이란 무엇이며 이를 효과적으로 방지하는 방법
  • 어떤 캐싱 기술이 사용되었나요? thinkphp의 캐시는 부분 캐시인가요, 아니면 전체 캐시인가요?
  • 차이점은 무엇인가요? Cookie와 Session 사이
  • Cookie를 비활성화한 후에도 Session을 계속 사용할 수 있나요? 해결 방법은 무엇인가요?
  • 자주 사용하는 Linux 명령(당시에는 파일 작업과 vim으로 모두 답변했습니다)
  • 아파치와 동일한 기능을 하는 ngnix를 아시나요?
  • 아파치의 일반적인 구성과 아파치의 rewrite 역할에 대해 잘 알고 계시나요?
  • 어떤 컴파일러를 사용해 보셨나요? PHP 개발 프로세스(eclipse, phpstrom, zend, 일반 sublimeText)
  • 프런트엔드 html, css, js에 익숙하고 어떤 프런트엔드 프레임워크를 사용해 보셨나요

  • 1차 면접 후, 회사의 개발 과정에서 사용하는 기술 아키텍처(lnmp)에 대해 궁금한 점이 있는지 물었습니다. 그러다가 잠시 기다렸어요. 그 당시에는 데이터베이스 측면을 제외하면 답변이 유창하지 않았지만 다른 모든 것은 괜찮다고 느꼈기 때문입니다. 회의실에서 다음은 어떻게 될지 궁금했는데, 갑자기 엄청난 아우라를 지닌 강력한 남자가 찾아왔다. 다음 면접은 좀 긴장되네요...
    2차 면접 :
    면접 방식 : 1대1진행 방식 내레이션: 제가 평소에 하는 프로젝트는 너무 응용 중심적이고, 기초 지식이 상대적으로 부족한 것 같아요. 내용은 아마도 일 것 같아요.
  • 대학이 5년제인 이유를 설명했습니다(囧, 이 질문에 답할 때마다 아주 오래되고 슬픈 과거에서 시작해야 합니다)
  • 일일채널 공부 (저는 처음에 책으로 기본을 배웠다고 하다가 다 프로젝트 중심이었는데 사람들이 프로젝트 중심의 단점을 직접 이야기하더군요...)
  • 가장 왼쪽 접두사 인덱스의 원리 (좀 낯익네요. 어디선가 본 것 같은데 기억이 잘 안나네요)
  • ThinkPHP를 사용하는 이유와, PHP를 직접 작성하는 것과 비교했을 때 장점과 단점은 무엇인가요?
  • tp 소스코드 읽어보셨나요
  • thinkphp를 배우시게 되었으니 TP의 Hook 메커니즘에 대해 설명해주세요. (새 버전이 업데이트되었을 때만 봐서 낯설네요. 그거랑 긴장되네...)
  • reset ful이 뭐야 (어...이게 뭐야, 정말 모르겠다) )
  • php에서 fastcgi를 설명하라, 뭐야 cgi이고, cgi와 fastcgi의 차이점(잘모르겠어요, 아아, 짚고 넘어가겠습니다)
  • 처음에 방금 물어봤는데 디자인 패턴, 공유 패턴이 뭐예요(아, 정말 많네요) 디자인 패턴이 너무 떨려서 다 기억이 안나네요)
  • PHP 네임스페이스에 대해 설명해주세요
  • 개발에 주로 사용하는 PHP 버전은 무엇인가요? 한 번에 여유, 5.5)
  • 제품 관리자였던 적이 있는데, 제품과 기술을 어떻게 이해하는지, 기술을 하고 싶은지 제품을 하고 싶은지 (아, 이게 낫겠다, 에세이 질문, 내 것을 보세요)
  • 주중에 상대적으로 높은 업무 강도를 견딜 수 있습니까(물론 주말은 정상입니다)
  • 좀 가벼운 주제로 이야기를 나눴는데 나중에 보니 이 쪽이 일부러 그랬다는 걸 깨달았습니다. 어렵다, 기술이 얼마나 깊은지 정말 부끄럽다. 갑자기 내가 아는 것이 거의 없다는 생각이 든다. 사실 최근에는 검토 방법과 시간 조정이 좀 지저분한 것도 있다. 나는 더 이상 그 상태에 있지 않습니다. 돌아가서 잘 보충하십시오. 마지막으로 저는 인턴 급여가 XXXX로 상대적으로 낮다는 점을 간략히 언급했습니다. 괜찮다고 말한 다음, 돌아가서 HR의 전화를 기다리겠다고 말했습니다.
    인터뷰 진행은 총 2시간 가까이 걸렸고, 끝나고 나서 친구들과 잠시 이야기를 나눴습니다. 오후 4시쯤 집에 도착했는데 시장에 가는 것이 그리 효율적일 거라고는 생각하지 못했습니다. 집에 돌아온 지 얼마 지나지 않아 HR 담당자가 저에게 전화를 걸어왔습니다. 면접에 합격하고 언제 합류할지 물었다. 사실 저는 일을 할 계획은 없었습니다. 면접 후에 면접 실력을 향상시키기 위해 다른 곳으로 가고 싶었습니다. 그냥 먼저 동의하세요. 다음 주 월요일과 수요일에 언제 일을 시작할 수 있는지 알려주었습니다. 수요일이라고 해서 며칠 쉬도록 했죠. 다음엔 제의에 응하고 갈까 말까 고민하다가 이제 할 일이 없다고 생각해서 그냥 인턴만 먼저 하고 계속해서 입시 준비를 하려고 했어요. 온보딩 자료를 준비합니다.
    바이두

    필기문제 유형


    바이두 기술직 필기시험 문제는 각 주요 학과별로 정해져 있어 매년 필기시험이 끝난 후 여러 세트의 필기시험 문제가 인터넷에 유통되고 있다.
    검사 영역은 주로 다음과 같습니다.
    1. 기본 요구 사항
    언어(주로 C/C++), 계획 원칙, 운영 체제 원칙 및 컴퓨터 네트워크. 포인터 연산, 바이트 정렬, 함수 호출 스택 프레임 구조, 메모리 관리, 프로세스 스케줄링, 7계층 네트워크 프로토콜 모델 등 보통 퀴즈 형식으로 진행됩니다.
    2. 데이터 구조 및 알고리즘
    검색(일반적으로 이진 검색 등), 정렬(일반적으로 빠른 정렬, 외부 정렬 등), 트리(일반적으로 이진 트리의 사전/중간/사후 순회 등) 트리 트리) . 당신이 좋은 사람이라면 "이진 트리의 순차 순회를 위한 알고리즘 의사 코드를 작성하고 복잡성을 분석해 주세요"라는 질문이 명확하게 나옵니다. 운이 나쁘면 "수억 개의 정수 값을 저장하는 파일이 주어지면, xx 공간 복잡도 또는 xx 시간 복잡도를 만족한다는 전제 하에 이러한 정수를 처리하는 알고리즘을 설계하십시오."와 같이 비교적 추상적인 주제가 될 것입니다. 문제는 상대적으로 다루기가 어렵다. 그러므로 모든 사람은 정신적으로 준비가 되어 있어야 합니다. 이 부분은 일반적으로 알고리즘 의사 코드 작성에 관한 것입니다.
    3. 시스템 설계 질문
    본 내용은 실제 비즈니스 시나리오를 설명하며 xxx 기능을 최대한 빠르고 비용 효율적으로 구현할 수 있는 시스템 설계를 요구합니다.
    이런 종류의 질문은 상대적으로 다양합니다. 일반적으로 학교에서 모집하는 대부분의 학생들은 이러한 유형의 디자인 질문에 대한 경험이 없을 것입니다. 기본적으로 시스템, 특히 컴퓨터 구성이나 운영 체제의 원리에 대한 자신의 이해를 바탕으로 유추를 통해 결론을 도출하고, 자유롭게 표현하고, 근거가 충분하고 논리적으로 엄격해야 합니다. 이러한 유형의 질문의 테스트 포인트는 일반적으로 표준 답변이 아니라 실제 문제를 분석하는 능력입니다.

    필기시험 준비방법

    2. 컴퓨터 시스템
    어떤 교과서가 Jiaotong University에서 나온 것인지 모르겠습니다. Xue 삼촌이 독학을 위해 사용한 교과서:
    컴퓨터 시스템에 대한 심층적 이해" 영어 이름: Computer.Systems: A Programmer's Perspective
    《Modern Operating Systems" 영어 이름: Modern Operating Systems
    3 . 데이터 구조 및 알고리즘
    그해 교통대학교에서 사용한 교과서는 칭화대학교 옌웨이민 교수의 "데이터 구조" C 언어 버전
    삼촌도 취업 전 이 책을 사용하여 복습했습니다
    물론, MIT의 "알고리즘 입문"이나 Donald E. Knuth의 "디자인 아트"의 "컴퓨터 프로그래밍"을 읽는 재능 있는 사람들이 있다면 알고리즘에 대한 지식 포인트는 큰 문제가 되지 않을 것입니다.
    4. 즉석 면접 질문
    처음 세 항목에 나열된 정보는 소화하는 데 일정 시간이 걸립니다. 지금 처음부터 시작한다면 분명 시간이 부족할 것입니다. 따라서 Xue 삼촌은 여기서 출발점으로 삼을 몇 가지 정보를 제공합니다.
    1) "프로그래밍의 아름다움" 마이크로소프트 기술면접 체험
    이 책은 인터넷 기업에서 자주 사용하는 대표적인 알고리즘 질문을 수십 가지 정리한 책이다. 이에 비해 국내 패스트푸드 등은 확실히 공부할 가치가 있다. 그냥 엉망이야. . .
    2) csdn 블로그 - 구조의 방법, 알고리즘의 방법
    구글이나 바이두에서 "구조의 방법"을 검색하세요. 이 블로그의 블로거는 알고리즘의 달인입니다. 관심 있는 학생들은 인터뷰 알고리즘 질문을 살펴보는 것이 좋습니다.

    또한, 이 알고리즘 전문가의 시나 웨이보 계정은 7월 연구원이 현재 면접 알고리즘 질문에 대한 강의를 하고 있으니 주목해 주시기 바랍니다.

    입시 준비
    알리 필기시험 : 8월 25일 바이두 필기시험: 9월 27일 또는 10월 12일텐센트 필기시험: xxx

    "Sword Pointer Offer"

    "프로그래머 면접 가이드"

    "빅 토크 디자인 패턴"

    "기본부터 배우는 알고리즘"의 첫 5개 장

    "프로그래밍의 아름다움"

    csdn 블로그 - 구조의 법칙 및 알고리즘 방식

    "PHP 구직 가이드"

    "C 및 포인터"

    "Redis 시작 가이드"


    저작권 안내: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.
    위 내용은 다양한 측면을 포함한 Brother Fan의 인터뷰 경험에 대한 소개입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.