찾다
백엔드 개발PHP 튜토리얼프로그래머 인터뷰: 상위 42개 전화 인터뷰 질문 및 답변(2부)

올해는 2015입니다. 최근 몇 년 동안은 대면(전화 면접)이 후보자를 선별하는 방식으로 가장 인기가 많았습니다. 프로그래머 위치를 위해. 고용주와 고용주 모두가 쉽게 알아갈 수 있습니다. 지원자는 미래 고용주의 위치로 갈 필요가 없으며 면접관은 추가 준비를 할 필요가 없습니다. 이것은 프로그래머 인터뷰 질문을 다루는 내 기사의 두 번째 부분입니다. 첫 번째 섹션이 코딩 문제에 너무 집중했다는 피드백을 받았고, 많은 프로그래머들이 전기 문제에 대해서도 비슷한 목록을 만들길 원했습니다. 성공적으로 면접을 통과하고 다음 라운드로 진출하기 위해서는 직무 요구사항과 관련된 모든 질문에 충분히 답변해야 합니다. 대부분의 JavaC++ 개발자 인터뷰에서는 해당 프로그래밍 언어에 대한 문제뿐만 아니라 SQL, XML, UNIX 등의 기타 기술, 일반 프로그래밍, 객체 지향 프로그래밍, 데이터 구조 및 알고리즘, 네트워킹, 코딩 및 기타 업무 측면. 프로그래머의 취업 면접은 다양하기 때문에 면접관이 기대하는 방식으로 자신을 표현하려면 특별한 기술이 필요합니다.

중요한 점은 면접 질문에 답할 때 핵심 사항을 일찍 꺼내고 항상 Crucial 답변을 하라는 것입니다. 면접관들의 질문은 폭넓은 주제를 다루는 경향이 있기 때문에 "알았어, 알아"와 같은 공허한 말보다는 비판적인 답변을 선호합니다. 대면 인터뷰를 통해 문제를 더 깊이 설명할 수 있는 기회를 갖게 됩니다. 그건 그렇고, 이것은 어렵고 빠른 규칙이 아니며 면접관이 귀하의 답변에 어떻게 반응하는지에 따라 그가 어떤 종류의 응답을 기대하는지 아이디어를 얻을 수 있습니다. 그가 질문을 계속하고 당신이 더 말해주기를 기대한다면, 당신은 더 말해야 합니다. 하지만 그가 즉시 다음 질문으로 넘어가면 명확하고 간결하게 대답해야 합니다. 이 글에서는 전자공학에 적용되는 몇 가지 일반적이고 흥미로운 프로그래밍 문제를 여러분과 공유하겠습니다. 대부분은 Barclays, Citi, Nomura , Infosys, TCS, CTS 등의 은행, Tech MahindraHCL과 같은 회사에서 서비스를 제공하고 있습니다. 아까도 말했듯이 면접 질문은 무작위로 뽑혔는데, 면접관이 면접 때 테스트하고 싶었던 부분이 바로 기초지식에 기초한 질문이 대부분이었습니다. 이러한 질문의 대부분은 주니어 개발자(2 ~ 5년)를 대상으로 하지만, 시니어 및 베테랑 프로그래머도 여전히 사용할 수 있습니다. 자신의 인터뷰를 위한 질문으로 사용하세요. 면접관인 경우 이러한 질문을 사용하여 개발 직책에 대한 후보자를 신속하게 선별할 수 있습니다. 여기서는 긴 답변에 대한 링크와 함께 짧은 답변을 제공하겠습니다.

다음은 거의 42개의 프로그래머 면접 질문 목록입니다. 이러한 질문은 프로그래밍의 기초를 기반으로 하기 때문에 프로그래머, 개발자, 소프트웨어 엔지니어, 테스트 및 운영 엔지니어를 테스트하는 데 사용할 수 있습니다. 그러나 프로그래머와 개발자에게 가장 적합합니다. 그런데 Java 개발자이고 Java 전자 면접 질문을 찾고 있다면 해당 목록을 확인해 보세요. 이 목록은 보다 일반적이며 Python, Ruby, Perl을 포함한 모든 프로그래머에게 적용됩니다. C# 개발자.

22. 세 가지로 설명할 수 있나요? 앱을 출시하기 전에 테스트해 보시겠어요?

단위 테스트, 통합 테스트, 스모크 테스트. 단위 테스트는 독립된 단위가 예상대로 작동하는지 테스트하는 데 사용되며, 통합 테스트는 테스트된 독립된 단위가 함께 작동할 수 있는지 테스트하는 데 사용됩니다. 항공기 주문 과정에서 항공권 예약, 항공편 취소 또는 변경이 가능해야 합니다.

23. 반복과 재귀의 차이점은 무엇인가요? (상세 답변)

Iteration은 루프를 통해 같은 단계를 반복적으로 수행하고, Recursion은 함수 자체를 호출하여 반복 작업을 수행합니다. 재귀는 종종 하노이 타워, 연결된 목록 반전 또는 문자열 반전과 같은 복잡한 문제에 대한 명확하고 간결한 솔루션입니다. 재귀의 한 가지 단점은 깊이입니다. 재귀는 중간 결과를 스택에 저장하므로 특정 깊이까지만 재귀를 수행할 수 있으며 그 이후에는 StackOverFlowError로 인해 프로그램이 중단됩니다. 이것이 프로덕션 코드에서 재귀보다 반복이 선호되는 이유입니다.

24. &&& 연산자 차이점? (자세한 답변)

&은 비트 연산자이고, &&은 논리 연산자입니다. &&&의 한 가지 차이점은 비트 연산자(&)가 가능하다는 것입니다. 정수 및 부울 유형에 사용할 수 있습니다. 논리 연산자(&&)는 부울 유형 변수에만 사용할 수 있습니다. a & b라고 쓰면 두 정수의 각 비트가 AND로 연결됩니다. a && b라고 쓰면 두 번째 매개변수가 평가될 수도 있고 평가되지 않을 수도 있기 때문에 적어도 에서는 이를 단락 연산자라고 부릅니다. Java의 경우입니다. 저는 이 질문을 좋아해서 후배 개발자나 졸업생들에게 자주 물어봅니다.

25. 1 XOR 1의 결과는 무엇입니까?

답은 0입니다. 두 피연산자(비트 단위)의 XOR1 동시에 동일한 경우 0을 반환합니다. 예를 들어 0 XOR 0은 여전히 ​​0이지만 0 XOR 11 🎜>의 결과 1입니다.

26.

정수의 마지막 숫자를 구하는 방법은 무엇인가요? (답변)모듈로 연산자를 사용하여 숫자

% 10은 숫자의 마지막 숫자를 반환합니다. 예를 들어 2345 % 105을 반환하고, 567 % 107을 반환합니다. 마찬가지로 나누기 연산자를 사용하여 숫자의 마지막 숫자를 제거할 수 있습니다. 예를 들어 2345 / 10의 결과는 234,567/10의 결과는 56입니다. 이것은 알아야 할 중요한 기술이며 회문 및 반전과 같은 문제를 해결하는 데 사용할 수 있습니다.

27.

테스트 주도 개발이란 무엇인가요?

테스트 중심은 기능 코드보다 먼저 테스트 코드를 작성하는 일반적인 개발 접근 방식입니다. 테스트는 프로그램의 구조를 결정합니다. 테스트 중심 순수주의자는 애플리케이션에 대한 테스트를 작성하기 전에 애플리케이션 코드 한 줄도 작성하지 않습니다. 이는 코드 품질을 크게 향상시킬 수 있으며 종종 슈퍼스타 개발자의 품질로 간주됩니다.

28.

리스코프 대체원리

(리스코프 대체원리, LSP)인가요? (답변)리히터 대체 원리는 밥 삼촌이 SOLID

라고 부르는 5가지 디자인 원칙 중 하나입니다. 조각. Liskov 대체 원칙은 모든 하위 클래스가 상위 클래스 (proxy)의 프록시로 작동할 수 있다고 규정합니다. 예를 들어 메서드에 입력으로 부모 클래스 개체가 필요한 경우 자식 클래스 개체를 제공하면 제대로 작동합니다. 상위 클래스를 대체할 수 없는 클래스는 Liskov 대체 원칙을 위반합니다. 사실 대답하기 어려운 질문이지만, 잘 대답한다면 면접관에게 좋은 인상을 줄 것입니다.

29. 개폐란 무엇인가

(개방 폐쇄) 디자인 원칙? (답변)개폐의 원리는 SOLID

의 또 다른 중요한 원칙으로, 확장을 위해 열려 있지만 수정을 위해 닫혀 있습니다. 이는 안정적인 시스템에 새로운 기능을 추가하려는 경우 테스트된 기존 코드를 건드릴 필요 없이 새 클래스를 추가하기만 하면 새 기능을 구현할 수 있다는 의미입니다.

30. 이진 트리와 이진 검색 트리의 차이점은 무엇인가요?

이진 검색 트리는 모든 노드(예: 루트 노드)의 왼쪽 하위 트리 노드 값이 해당 노드 값보다 작거나 같습니다. 이며, 오른쪽 하위 트리 노드의 값은 해당 노드의 값보다 크거나 같습니다. 정렬된 데이터를 표현하는 데 사용할 수 있는 중요한 데이터 구조입니다.

31. 재귀 알고리즘의 실제 예를 들어주실 수 있나요?

(예)재귀 알고리즘은 이진 트리, 연결 목록 관련 알고리즘 등 다양한 곳에 적용될 수 있습니다. 재귀 알고리즘을 사용하는 몇 가지 예에는 문자열 반전 및 피보나치 수열 계산이 포함됩니다. 다른 예로는 역방향 연결 목록, 트리 순회, 빠른 정렬 등이 있습니다.

31. 알고리즘의 시간복잡도는 얼마인가요?

시간 복잡도는 입력량에 대한 실행 시간의 비율을 나타냅니다. 알고리즘이 특정 양의 입력을 처리하는 데 걸리는 시간을 나타냅니다. 이는 추정치이지만 입력 수가 천만에서 천만으로 증가함에 따라 알고리즘이 어떻게 작동하는지를 보여주는 좋은 지표입니다.

33. 연결된 목록과 배열의 중요한 차이점은 무엇인가요?

(자세한 답변)

연결된 목록과 배열은 모두 프로그래밍 세계에서 중요한 데이터 구조입니다. 이들 사이의 가장 분명한 차이점은 배열은 요소를 연속된 주소에 저장하는 반면 연결된 목록은 메모리의 모든 위치에 데이터를 저장한다는 것입니다. 이는 메모리가 항상 분산되어 있기 때문에 연결된 목록 자체를 확장할 수 있는 엄청난 유연성을 제공합니다. 이런 상황은 항상 가능합니다. 백만 개의 정수를 저장하기 위해 배열을 만들 수는 없지만 연결 목록을 사용하여 저장할 수 있습니다. 공간이 있지만 연속적이지 않기 때문입니다. 다른 모든 차이점은 이 사실에서 발생합니다. 예를 들어 배열에서는 첨자를 알면 O(1) 시간 안에 요소를 가져올 수 있지만 연결 목록에서는 시간이 걸립니다. O(n)시간. 자세한 차이점은 자세한 답변을 참조하세요.

33. 해시 테이블 충돌 처리 방법은 무엇인가요?

선형 프로빙(선형 프로빙), 2차 해싱(이중 해싱) 및 연결(체인 연결). 선형 프로빙에서 버킷이 이미 사용된 경우 함수는 빈 슬롯을 찾을 때까지 다음 버킷을 선형적으로 확인합니다. 체인에서는 여러 요소를 동일한 버킷에 저장할 수 있습니다.

34. 정규표현식의 뜻은 무엇인가요? (답변)

정규 표현식은 텍스트 데이터에 대한 패턴 일치 방법입니다. 책에서 특정 단어를 검색하는 것과 같이 긴 문자열에서 특정 문자를 검색하는 강력한 방법입니다. 모든 주요 프로그래밍 언어는 정규식을 지원하지만 Perl은 정규식 기능으로 유명합니다. Javajava.util.regex 패키지는 Perl과 유사한 정규식도 지원합니다. 🎜> 표현. 정규식을 사용하여 이메일 주소가 유효한지, 전화번호가 유효한지, 우편번호가 유효한지, 주민등록번호도 (SSN) 유효한가요? 정규식의 가장 간단한 예 중 하나는 문자열이 숫자인지 확인하는 것입니다.

35.

무국적이란 무엇인가

(무국적)

체계? 상태 비저장 시스템은 내부 상태를 유지하지 않는 시스템입니다. 이러한 시스템은 언제든지 동일한 입력에 대해 동일한 출력을 제공합니다. 무상태 시스템을 작성하고 최적화하는 것이 항상 더 쉽기 때문에 가능하다면 항상 무상태 시스템 작성에 우선순위를 두어야 합니다.

36.

SQL

쿼리를 작성합니다. 직원 테이블에서 두 번째로 높은 급여를 찾습니다. (해결책)이것은 SQL

아주 오래되었음에도 불구하고 고전적인 면접 질문 중 하나입니다. 그것은 여전히 ​​​​재미 있고 후보자의 지식 깊이를 테스트하기 위해 많은 질문을 할 수 있습니다. 상관되거나 관련되지 않은 하위 쿼리를 사용하여 두 번째로 높은 급여를 찾을 수 있습니다.

SQL Server 또는 MySQL을 사용하는 경우 TOP 면접관이 허용하는 경우 LIMIT와 같은 키워드를 사용하세요. 두 번째로 높은 급여를 찾는 최단 답변은 다음과 같습니다. 이 쿼리는 먼저 가장 높은 급여를 찾은 다음 목록에서 제외하고 가장 높은 급여를 찾습니다. 분명히 두 번째 수익은 두 번째로 높은 급여와 함께 제공됩니다.

37.

상관 하위 쿼리와 상관 하위 쿼리가 무엇인지 설명할 수 있나요? (답변)

상관 하위 쿼리에서는 내부 쿼리가 외부 쿼리에 종속되며 외부 쿼리의 각 행에 대해 실행됩니다. 상관되지 않은 하위 쿼리는 외부 쿼리에 의존하지 않으며 독립적으로 실행될 수 있습니다. 따라서 전자는 느리고 후자는 빠릅니다. 그런데 상관 하위 쿼리에는 이전 단계 SQL

N

이 가장 높은 직원의 급여를 찾는 등 몇 가지 훌륭한 응용 프로그램이 있습니다. > 질문에도 언급되어 있습니다. 39.

산술 연산자 없이 숫자가 2의 거듭제곱인지 어떻게 확인하나요?

(해결책)

산술연산자를 사용할 수 없다는 제한사항을 들으면 바로 비트 연산에 관한 문제라고 가정해야 합니다. 이러한 제한이 없으면 모듈로 및 나누기 연산자를 사용하여 숫자가 2의 거듭제곱인지 쉽게 확인할 수 있습니다. 비트 연산자를 사용하여 작업을 수행하는 깔끔한 방법이 있습니다. 다음 코드를 사용하여 숫자가 2의 거듭제곱인지 확인할 수 있습니다1

2

3

public static boolean powerOfTwo(int x) {

return (x & (x - 1)) == 0;

}

x & (x-1)

은 비트를 가장 많이 결합하는 훌륭한 트릭입니다. 오른쪽의

1

0으로 설정되어 있습니다. 나는 "효과적인 프로그래밍의 비밀"이라는 책에서 이것을 배웠습니다.

40. UNIX에서 실행 중인 Java 프로세스를 찾는 방법은 무엇입니까? (명령)

psgrep UNIX 머신에서 프로세스를 찾는 명령입니다. Java 프로세스에 이름이나 일치하는 데 사용할 수 있는 텍스트가 있다고 가정하고 이 명령을 사용하세요.

ps -ef | grep "myJavaApp"

ps -e는 모든 프로세스를 나열합니다(모든 사용자 프로세스, 당신뿐만 아니라), ps -fPID를 포함한 모든 세부 정보를 표시합니다. kill 명령으로 추가 조사를 하거나 프로세스를 종료하려면 PID가 필요합니다.

41. UNIX에서 빅데이터를 찾는 방법 1GB 위의 파일 등? (명령)

find 명령을 사용하면 크기 기반 옵션을 제공하므로 대용량 파일을 쉽게 찾을 수 있습니다. 파일을 찾는 중입니다. 파일 시스템이 가득 차고 공간이 없어 Java 프로세스가 충돌하는 경우 이 명령을 사용하세요. 이 명령은 1GB보다 큰 모든 파일을 나열할 수 있습니다. 예를 들어 100MB 이상의 모든 파일을 찾으려면 +100M을 사용하면 됩니다.

find – f -size +1G -print

42.

대본은 무엇인가요?

shell

스크립트는 프로그램 요소(예: if)가 포함된 스크립트입니다. for Loop)는 일부 반복 작업을 자동으로 수행할 수 있는 shell 명령 집합입니다. 예를 들어 shell 스크립트를 작성하여 매일 로그 파일을 정리하고, 기록을 위한 백업 데이터와 기타 집안일, 버전 출시, 모니터링 등을 할 수 있습니다.

무료로 받으세요

LAMP밴드 오브 브라더스 원본 PHP튜토리얼CD/ 세부정보PHP》Essential 버전, 자세한 내용은 공식 웹사이트 고객 서비스에 문의하세요. http:// www.lampbrother.net

PHPCMS

2차 개발http://yun .itxdl.cn/online /phpcms/index.php?u=5

WeChat 개발

http: //yun.itxdl.cn/online/weixin/index.php?u=5

모바일 인터넷 서버측 개발

http: //yun.itxdl.cn/online/server/index.php?u=5

Javascript

과정http://yun.itxdl.cn/online/js/index.php?u=5

CTO

트레이닝 캠프http://yun.itxdl.cn/online/cto/index.php?u=5

위 내용은 프로그래머 인터뷰를 소개합니다. 전화 인터뷰 질문과 답변 TOP 42(2부) 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
带你搞懂Java结构化数据处理开源库SPL带你搞懂Java结构化数据处理开源库SPLMay 24, 2022 pm 01:34 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

Java集合框架之PriorityQueue优先级队列Java集合框架之PriorityQueue优先级队列Jun 09, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

完全掌握Java锁(图文解析)完全掌握Java锁(图文解析)Jun 14, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

AMP是什么币?AMP是什么币?Feb 24, 2024 pm 09:16 PM

什么是AMP币?AMP代币是由Synereo团队于2015年创立,作为Synereo平台的主要交易货币。AMP代币旨在通过多种功能和用途,为用户提供更好的数字经济体验。AMP代币的用途AMP代币在Synereo平台中拥有多重角色和功能。首先,作为平台的加密货币奖励系统的一部分,用户能够通过分享和推广内容来获得AMP奖励,这一机制鼓励用户更积极地参与平台的活动。AMP代币还可用于在Synereo平台上推广和传播内容。用户可以通过使用AMP代币提升他们的内容在平台上的曝光率,以吸引更多观众来查看和分

一起聊聊Java多线程之线程安全问题一起聊聊Java多线程之线程安全问题Apr 21, 2022 pm 06:17 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

Java基础归纳之枚举Java基础归纳之枚举May 26, 2022 am 11:50 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

详细解析Java的this和super关键字详细解析Java的this和super关键字Apr 30, 2022 am 09:00 AM

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

Java数据结构之AVL树详解Java数据结构之AVL树详解Jun 01, 2022 am 11:39 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구