다음 기사가 선택된 Baidu의 첫 200 페이지 "Java 인터뷰 질문"
디자인 패턴
디자인 패턴이란 무엇입니까? 어떤 디자인 패턴을 사용 했습니까? 어떤 경우에 어떤 상업용 디자인 모델을 사용하고 있습니까?
시스템의 확장 성을 향상시킬 수있는 설계 패턴
싱글 톤 모드
싱글 톤 모드 외에도 프로덕션 환경에서 어떤 다른 디자인 모드를 사용 했습니까?
싱글 톤 싱글 톤 모드 싱글 톤 모드 이중 확인 잠금 스레드-안전 싱글 톤 생성 방법
수업의 싱글 톤 패턴은 무엇입니까? 세 가지 싱글 톤 패턴 구현을 작성하십시오
어댑터 모드
Xiangyuan 모드를 사용하여 조합 모드를 사용하는 시점. 방문자 모드를 사용하는시기. 템플릿 메소드 모드는 무엇입니까? 개방 및 폐쇄 원리를 준수하는 설계 모드의 예를 제시하십시오.
열린 질문
웹 프로그래밍의 특성을 한 문장으로 요약하십시오
Google은 1 초 안에 사용자에게 검색 결과를 어떻게 반환합니까? 어떤 종속성 주입 방법을 사용하여, 생성자 주입 또는 세터 메소드 주입 트리 (바이너리 또는 기타)를 사용하여 많은 일반 데이터 구조의 기초를 형성하는 것이 좋습니다. 그러한 데이터 구조를 설명하고 사용할 수있는시기를 설명하십시오. 온라인 시스템을 설계하는 방법은 갑자기 매우 느려집니다. 문제를 어떻게 찾습니까? 프레임 워크를 사용하는 데 어떤 종류의 프로젝트가 적합하지 않습니까? Sina Weibo는 Weibo를 구독자에게 어떻게 추진 하는가? 간단한 소개. 브라우저에서 요청 인터페이스에 URL을 입력하는 시간까지 Java 웹 애플리케이션에서 발생하는 일. 높은 동시성 하에서 SSH 통합 하에서 동일한 데이터 라인을 안전하게 수정하는 방법에 대해 이야기하십시오.
12306 웹 사이트의 티켓 예약 시스템을 구현하는 방법, 티켓이 과매도되지 않도록하는 방법, 웹 사이트의 성능 최적화를 최적화하는 방법. 설계에 관여 한 서버 아키텍처에 대해 이야기 해 봅시다. 분산 환경에서 CountdownLatch를 구현하는 솔루션에 대해 생각해보십시오.
캐시의 전체 크기를 제어 할 수있는 로컬 캐시의 자동 적응을 설계하는 솔루션을 생각해보십시오. 경력에서 가장 어려운 기술적 과제는 디자인 문서를 작성하는 방법입니다. O의 대문자는 무엇입니까? 오프닝 및 마감 원리 및 직장 응용 프로그램과 같은 프로그래밍에서 일부 설계 원칙을 고려하는 방법 몇 가지를 제시하십시오. 네트워크 응용 프로그램의 모델과 특성을 설명하십시오. 온라인 문서 시스템을 설계하십시오. 문서를 편집 할 수 있습니다. 여러 사람이 동시에 동일한 문서를 편집하고 업데이트하는 것을 방지하는 방법. 데이터 연결 풀의 작동 메커니즘을 말하십시오. 파일에 나타나는 가장 높은 단어의 단어를 얻는 방법. 가장 일반적으로 사용되는 프로그래밍 스타일을 설명하십시오. 제품을 재 설계 할 수있는 기회가 있다면 고도로 사용 가능한 시스템을 구축하는 방법을 어떻게해야합니까? 사용자 이름과 비밀번호를 입력하지 않고 시작하는 방법. Java 기반 웹 프로젝트에서 파일을 업로드하고 다운로드하는 방법. 플래시 판매 시스템을 구현하여 소수의 사용자 만 특정 제품을 구매할 수 있도록합니다.
로드 밸런싱을 달성하는 방법, 쇼핑 카트를 설계하는 데 어떤 알고리즘을 사용할 수 있습니까? Taobao의 쇼핑 카트가 구현되는 방법, 일련의 고유 한 지불 솔루션 세트, 아키텍처 설계 방법, 100W의 긴 연결을 설계 및 확립하고 유지하는 방법, 브라우저 캐시를 피하는 방법에 대해 생각해보십시오.
Cache Avalanche를 방지하는 방법 AB와 두 시스템이 서로 의존하는 경우, 누군가가 악의적으로 불법 연결을 생성하는 경우 종속성을 취소하는 방법, 수십억의 화이트리스트가있는 경우 문제를 해결하는 방법, 매일 하루 종일 동시 쿼리가 필요합니다. 이 기능을 설계하는 방법. 시스템이 초대형 정수 (긴 길이 범위 이상)를 사용하려면 이러한 초대형 숫자를 저장하고 초대형 정수 추가 작업을 구현하기위한 알고리즘을 설계하기위한 데이터 구조를 설계하십시오).
그래픽 시스템을 설계하려면 기본 그래픽 구성 요소 (포인트, 라인, 사각형, 삼각형)의 간단한 구현을 설계하십시오. 동시 및 안전한 링크 된 목록을 구현할 수있는 경우 애플리케이션 서버와 웹 서버의 차이점을 어떻게 만들 수 있습니까? 응용 프로그램 서버의 성능과 다양한 방법의 차이점을 모니터링하는 방법은 무엇입니까? 애플리케이션 서버 최적화 기술에 어떤 대형 웹 사이트를 사용 했습니까? 대형 웹 사이트에서 어떤 아키텍처를 고려해야합니까? 온라인 문제를 처리 했습니까? 메모리 누출, CPU 활용도가 높습니다. 응용 프로그램이 응답하지 않을 때 어떤 책을하고 있다고 생각하십니까? 가장 인상적인 책은 무엇입니까? 어떤 버전 관리 도구에 대한 설명에서 사용하는 일반적인 재구성 기술은 무엇입니까? 분기와 태그의 차이점은 무엇입니까? 반 패턴이 존재하는 것에 대해 배웠습니까? 사용한 웹 사이트의 프론트 엔드 최적화 기술은 무엇입니까? 스레드 덤프를 분석하는 방법
AOOP의 JoinPoint, PointCut, 향상, 소개, 직조 및 섹션의 개념을 어떻게 이해합니까? 메모리 누출 또는 스택 오버플로 문제를 어떻게 처리합니까? 온라인으로 사용되는 JVM 매개 변수는 무엇입니까? 시스템의 QP와 처리량을 개선하는 방법은 무엇입니까?
지식
MESI 프로토콜이 무엇인지 설명하십시오 (캐시 일관성)
원자로 모델에 대해 이야기하십시오
Java 9가 가져 오는 새로운 기능은 무엇입니까?
Java와 C ++를 비교하면 C ++ 또는 Java의 예외 처리 메커니즘의 간단한 원리 및 응용 프로그램은 Tomcat 구조와 클래스 로더 프로세스의 가상 메모리에 대해 간단히 이야기합니다. 시험 중심 개발 (TDD)에 대한 이해를 간단히 설명하십시오.
CDN 구현 원리
Maven과 Ant의 차이점은 무엇입니까?
UML에서 일반적으로 사용되는 사진은 무엇입니까?
리눅스
n+1 퍼즐 란 무엇입니까? Paxos 알고리즘은 무엇입니까? 당신이 편안하게 이해하는 것을 말 해주세요
ZAB 프로토콜이란 무엇이며 도메인 모델은 무엇입니까? 빈혈 모델과 혼잡 모델의 차이점은 무엇입니까? 도메인 중심 개발이란 무엇입니까?
이해하는 Java 필드의 웹 서비스 프레임 워크 소개
웹 서버, 웹 컨테이너 및 애플리케이션 서버의 차이점은 무엇입니까? 마이크로 서비스와 모 놀리 식 애플리케이션의 차이점은 쿠키와 세션의 역할, 차이 및 해당 응용 프로그램 범위, 세션의 작동 원리 및 데이터베이스 정규화 (정상화)를 간략하게 설명하는 지속적인 통합 및 정적 코드 분석 도구를 설명합니다.
키스, 건조, yagni 등의 원칙은 분산 거래, 장점 및 단점의 원칙과 분산 거래를 사용하는 방법을 의미합니까?
분산 클러스터에서 고유 일련 번호를 달성하는 방법
회로망
프레임 워크의 코드 지속성 계층 설계 중 일부를 보셨습니까? 고려해야 할 문제는 무엇입니까? 사용한 지속성 계층 프레임 워크의 수치 향상은 무엇입니까? Liszc 교체 원리를 설명 할 수 있습니까? 응용 프로그램을 어떻게 테스트 했습니까? 테스트 프레임 워크의 전송 계층에 대한 일반적인 프로그래밍 프로토콜은 무엇입니까? 그리고 그들 자신의 특성을 말하십시오
프로그래밍 질문
초과 근무 수수료를 계산합니다
10 시간 미만의 초과 근무 시간에 대한 초과 근무 수당은 시간당 급여의 1.5 배입니다. 10 시간 이상 초과 근무는 시간당 4 위안으로 계산됩니다. 팁 : (한 달에 26 일, 하루 8 시간 일)
월급 1000을 계산하고, 초과 근무 시간에 대한 초과 근무 수당을 계산하고, 초과 근무 시간 11 시간의 월 2500 연봉을 계산하고, 매월 15 시간 연속 연봉을 계산하십시오.
물건을 팔아
쇼핑몰에는 빨간 사과와 녹색 사과가 판매됩니다. (빨간 사과는 조각 당 5 위안이고 녹색 사과는 조각 당 4 위안입니다).
구매를 시뮬레이션하십시오. 200 개의 빨간 사과와 녹색 사과가 각각 첨가되었습니다.
판매를 시뮬레이션하십시오. 나는 각각 10 개의 빨간 사과와 녹색 사과를 샀다. 판매 된 각 사과에는 통계가 필요합니다.
팁 : 사과는 별도의 단체입니다.
날짜 추출
그러한 시간 문자열이 있습니다 : 2008-8-8 20:08:08, 일치 할 수있는 정규 표현을 작성하고 날짜, 몇 분, 몇 초를 추출하기 위해 Java 코드를 작성하십시오 : 20:08:08
실
8 디자인 4 스레드 4 스레드, 2 개의 스레드는 j에 대해 매번 1 씩 증가하고 다른 스레드는 j에 대해 매번 1 회 감소합니다. 프로그램을 작성하십시오.
4 개의 스레드 작성, 2 개 이상 1 개, 2 개 감소 및 출력과 같은 다중 스레드 프로그램 작성
Wait-Notify는 생산자 소비자 문제를 해결하기 위해 코드를 작성합니다.
숫자
101에서 200 사이의 소수의 수를 결정하고 모든 소수를 출력하십시오. 가장 효율적인 방법을 사용하여 2 회 17 ~ 1 억 숫자를 계산하십시오. 그들 중 2 개가 반복됩니다. 빨리 찾아 보면 시간과 공간이 최적이어야합니다.
중간 크기의 값을 찾기 위해 2 억 명 무작위로 생성되지 않은 정수
10 억 숫자 중 가장 작은 10 개를 찾으십시오
자연 숫자 1에서 1 억의 자연 숫자는 1 ~ 11 => 1 +… + 9 + 1 + 0 + 1 + 1의 분할 숫자의 합계와 같은 286과 같은 모든 숫자의 분할 숫자의 합을 찾습니다.
숫자가 요인의 합과 정확히 같으면이 숫자를 "완료 숫자"라고합니다. 예를 들어, 6 = 1+2+3입니다. 1000 내의 모든 요소를 찾기위한 프로그래밍 및 배열의 모든 요소가 세 번 나타나고 한 번만 나타납니다. 이 요소를 찾으십시오. 볼은 100 미터 높이에서 자유롭게 떨어지고 각 착륙 후 원래 높이의 절반으로 반등합니다. 다시 떨어지면, 10 번째에 착륙 할 때 얼마나 많은 미터가 지나가는 지 알아보십시오. 10 번째 리바운드는 얼마나 높습니까?
100-1000 내에서 소수의 합을 찾아서 1에서 100까지 평균 합의 수를 찾으려면 s = a+a+aaa+aaaa+aaa… a의 값을 찾으십시오. 여기서 a는 숫자입니다. 예를 들어, 2+22+222+2222+2222 (총 5 개의 숫자가 추가됨), 여러 숫자의 추가는 키보드로 제어됩니다. 1 ~ 100의 합을 찾으십시오
소수를 1에서 40까지 계산하고 배열에 넣습니다.
3n+1 숫자가 있으며 그 중 3n은 반복되고 1 개만 반복되지 않습니다.
1.1.2.3.5.8.13.21.34의 숫자 세트가 있습니다. 이전 번호 세트와 동일한 규칙을 가진 처음 5 개의 숫자의 Factorial 개발을 제공하기 위해 프로그램을 작성하고 마음 의지를 입력하십시오. 피즈 버즈
n 정수가 포함 된 배열이 주어지면 누락 된 정수를 찾아 배열을 정렬하고, 두 숫자 m의 합으로 모든 조합을 찾아서 양수 정수를 프라임 팩터로 분해하십시오. 예를 들면 90을 입력하고 90 = 2*3*3*5를 인쇄하십시오.
모든 "Narcissus 번호"를 인쇄하면 소위 "Narcissus 번호"는 숫자가 숫자 자체와 동일한 입방 합계 인 3 자리 수를 나타냅니다. 예를 들어, 153은 "눈부신 숫자"입니다. 153 = 1 입방 전력 +5 입방 전력 +4 바이트 정수의 중간 값을 찾기 위해 두 개의 변수의 입방 전력 교환 값이 있기 때문에 피브보나키의 제곱근을 찾을 수 있습니다.
회로망
Java 소켓으로 프로그래밍, 서버에서 몇 문자를 읽은 다음 로컬 디스플레이에 쓰기
반사
반사 메커니즘은 어떤 기능을 제공합니까?
반사 메커니즘을 사용하는 곳을 반사하는 방법은 무엇입니까? 반사. Class.forname 및 Classloader. 반사를 구별하는 세 가지 방법. 클래스 인스턴스를 만드는 세 가지 방법은 무엇입니까? 반사를 통해 물체를 호출하는 방법. 반사를 통해 물체의 개인 필드의 값을 얻고 설정하는 방법. 반사 메커니즘의 장점과 단점.
데이터 베이스
JDBC를 Oracle 프로그램에 작성하고 데이터 쿼리를 구현하십시오.
연산
50 명이 원 안에 앉아 있습니다. 숫자가 3 ~ 3 개의 배수에 도달하면 나머지 사람이 누구인지 물어보십시오. 원래 위치는 무엇입니까? 엘리베이터 시뮬레이터를 구현하십시오. 버블 정렬을 쓰고 접기 및 반 조회를 쓰면 반복 할 수없는 20자를 무작위로 생성합니다. 함수를 작성하고, 순서대로 2 개의 정수 배열을 통과하고, 순서대로 정수 배열을 반환하고, 배열 목록을 가로 질러 요소를 제거하기 위해 코드 조각을 작성하십시오. 고전적인 질문 : 한 쌍의 토끼가 있으며, 출생 후 셋째 달부터 매달 한 쌍의 토끼가 태어납니다. 작은 토끼는 4 개월까지 자라며 매월 또 다른 토끼가 있습니다. 토끼가 죽지 않으면 매월 얼마나 많은 토끼가 얼마나 많은지 물어보십시오.
정기적인
IP 주소와 일치하는 정규 표현식을 작성하고 문자열이 숫자인지 여부를 결정하기 위해 정규 표현식을 작성하십시오.
끈
메소드를 쓰고 파일 이름과 문자열을 입력 하고이 문자열 이이 파일에 나타나는 횟수를 계산하십시오.
모든 문자열의 조합을 찾아서 Palindrome 문자열인지 확인하는 프로그램을 작성하십시오. 문자열 반전 함수를 작성하고 ABCDE를 입력하여 EDCBA 코드 미니 게임으로 변환하고 문장의 단어를 반전하여 GB2312 인코딩 된 문자열을 ISO-8859-1 인코딩 된 문자열로 변환하십시오. 주어진 텍스트에서 문자 수를 계산하려면 코드를 작성하십시오. 반복과 재귀에서 문자열을 각각 가로 채는 함수를 작성하십시오. 입력은 문자열과 바이트 번호이며 출력은 바이트로 가로 채는 문자열입니다. 그러나 한자가 절반을 차단하지 않도록해야합니다. 예를 들어, "I ABC"4는 "I AB"로 잘라야하고 "I ABC Chinese Def"를 입력하고 6은 "I ABC+중국어"대신 "I ABC"로 출력해야합니다.
단어 목록이 포함 된 2 개의 파일 (한 줄당 1 개)이 주어지면 교차로를 프로그래밍 방식으로 나열하고 문자열의 모든 순열을 인쇄하여 키보드로 입력을 중국 출력으로 변환하기 위해 문자열의 모든 순열을 인쇄합니다 (예 : 입력 1234567, 출력 : 122 선택 34566 선택 7).
웹 애플리케이션을 개발하는 동안 종종 GBK에서 ISO8859-1 등과 같은 일종의 인코딩 된 문자를 출력하는 문자가 종종 발생합니다. 특정 종류의 인코딩 된 문자열을 출력하는 방법
날짜
두 날짜 사이의 간격을 계산하십시오
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.