열리는:
Java 프로그래머로서 항상 비즈니스 개발에 갇혀 있습니까? 매일 코드 입력, 시스템 개발, 버그 수정에 바쁘고 전능 한 느낌이 듭니다. 하지만 가끔 모임에서 나와 함께 데뷔 한 반 친구들의 연봉이 이미 50 만 달러 라고 들었는데 주머니에 부끄러워했다. 그래서 저는 또한 새로운 기회를보고, 새로운 플랫폼을 찾고, 잘 발전하고 싶습니다.
그러나 인터뷰 중에 웃는 면접관이 익숙한 자바 질문을했을 때 그는 그저 익숙하다고 느꼈지만 대답 할 수 없었습니다. 예를 들어 HashMap의 작동 원리 또는 휘발성의 사용 시나리오가 있습니다.
이때 나는 내 능력을 의심하기 시작했고, 애초에 잘 검토하지 않은 이유가 싫었다.
솔직히 말해서 Java 베테랑으로서 내 관점에서 일부 면접관은 열심히 일하지만 면접을 통과하거나 높은 연봉을 받기에는 표시된 능력 수준이 충분하지 않습니다 . 일반적으로 두 가지 이유가 있다고 생각합니다.
- ⊙ 첫째, "그게 뭔지 알고 왜인지 모르겠다." 저는 수년 동안 기술 작업을 해왔고 많은 비즈니스 응용 프로그램을 개발했지만 다양한 기술 선택의 논리를 고려하지 않은 것 같습니다 . 따라서 나는 그에게 일정한 깊이의 작업을 맡길 것이라고 확신하지 못합니다. 더 중요한 것은 그의 미래 기술 역량의 성장 잠재력에 대해 확신하지 못한다는 것입니다.
- ⊙ 둘째 , 지식은 단편적이고 체계적이지 않다 . 인터뷰에서 면접관 은 자신이 개발 한 시스템이나 사용하는 관련 기술 을 완전하고 명확하게 설명 할 수없는 것처럼 보였습니다 . 따라서 그가 복잡한 문제를 효율적으로 해결하고 복잡한 시스템을 설계하는 능력이 있는지 의심 할 것입니다.
일반적으로 열심히 일하거나 특정 구현 세부 사항을 너무 많이 살펴 보지만 이러한 기술을 살펴 보지 않은 경우주의를 기울여야합니다. 인터뷰를 준비 할 때 Java 지식 시스템을 분류하고 핵심 및 요점을 요약하여 추론을 도출하고 다른 인터뷰어와 마주 할 때 이에 대해 이야기해야합니다.
다음은 몇 가지 인터넷 회사 자바 프로그래머 인터뷰에 대한 기술 지식, 인터뷰 주제 및 답변을 요약 한 것으로, 1 년이 지나면 직업을 바꾸고 싶은 친구들이 만족할만한 직업을 찾도록 돕고 자합니다.
준비 할 기술 지식
다음은이 인터뷰에서 자주 묻는 인터뷰 질문이지만,이 질문은 빙산의 일각 일뿐입니다. 모두라고해도 아무것도 할 수 없습니다. 가장 중요한 것은 탄탄한 기초와 명확한 마인드입니다. .
Java에 필수
- HashMap, HashTable 및 ConcurrentHashMap의 차이점.
- ArrayList와 Vector의 차이점입니다.
- 스토리지 성능과 ArrayList, Vector, LinkedList의 특성에 대해 이야기하십시오.
- Fail-Fast와 Fail-Safe의 차이점은 무엇입니까?
- 해시 맵의 데이터 구조.
- HashMap은 어떻게 작동합니까?
- Hashmap은 언제 확장됩니까?
- DK8에서 HashMap을 최적화하는 방법.
- 요소에 접근 할 때 List, Map, Set의 세 가지 인터페이스의 특징은 무엇입니까?
- 동적 프록시의 두 가지 방법과 차이점이 있습니다.
- @transactional 어노테이션은 어떤 상황과 이유에서 유효하지 않습니다.
알고리즘 및 데이터 구조
- B + 트리
- 빠른 정렬, 힙 정렬, 삽입 정렬 (8 가지 정렬 알고리즘을 모두 이해해야 함)
- 일관된 해시 알고리즘, 일관된 해시 알고리즘 적용
JVM 성능 최적화
- 자바 메모리 할당?
- GC 란 무엇입니까? GC가있는 이유는 무엇입니까?
- Java 가비지 수집 메커니즘을 간략하게 설명합니다. 가비지 수집기의 기본 원리는 무엇입니까?
- 분산 가비지 수집 (DGC)이란 무엇입니까?
- 자바 클래스 로딩 과정? 부모 위임 메커니즘?
멀티 스레딩 및 동시성
- 다중 스레드 동시성 및 병렬 처리 란 무엇입니까? 스레드 안전 문제는 무엇입니까?
- 재진입 잠금, 낙관적 잠금, 비관적 잠금, 공정 잠금, 불공정 잠금, 배타적 잠금 및 공유 잠금이란 무엇입니까?
- ThreadLocal의 구현 원칙에 대해 알려주세요. ThreadLocal은 변수에 대한 스레드 격리 방법으로 어떻게 작동합니까?
- 배타적 잠금 ReentrantLock의 원리? ReentrantReadWriteLock의 원리?
- ConcurrentLinkedQueue의 원칙은 연결 목록을 기반으로하는 비 차단 언 바운드 큐입니까?
데이터베이스 관련
- MySQL에서 InnoDB가 지원하는 4 가지 트랜잭션 격리 수준의 이름과 각 수준의 차이점을 간략하게 설명해주세요.
- MySQL에서 사용되는 스토리지 엔진은 무엇입니까? MySQL에는 어떤 종류의 잠금이 있습니까?
- MongoDB 란 무엇입니까? MongoDB 기능? MongoDB의 기능은 무엇입니까? MongoDB는 어디에 적용됩니까?
네트워크 프로토콜
- TCP와 UDP의 차이점에 대해 말씀해주세요.
- 세 번의 악수, 네 번의 파도? 왜 네 번 손을 흔들어요?
- 고정 및 반 포장 문제는 무엇입니까? 고정 및 반 포장 문제가 발생하는 이유는 무엇입니까? 고정 및 반 포장 문제를 방지하는 방법은 무엇입니까?
디자인 패턴
- J2EE는 일반적으로 사용되는 디자인 패턴? 공장 모델을 설명 하시나요?
- 개발에 사용되는 디자인 패턴은 무엇입니까?
분산 및 미들웨어
- zookeeper의로드 밸런싱 알고리즘은 무엇입니까?
- 비즈니스에서 분산 시나리오를 사용합니까? 세션 분산 솔루션?
- 분산 잠금의 시나리오 분산은 잠금의 실현입니까?
- 분산 트랜잭션, 클러스터링 및로드 밸런싱 알고리즘 및 구현?
- 하위 데이터베이스 및 하위 테이블 설계, 하위 데이터베이스 및 하위 테이블 및 대응책으로 인한 분산 딜레마?
캐시 관련
- Redis와 Memcached의 차이점은 무엇입니까? Redis는 어떤 데이터 구조를 지원합니까?
- Redis는 단일 스레드입니까? 모든 작업이 단일 스레드입니까?
- Redis는 문자열을 어떻게 저장합니까? Redis 배포 방법, 마스터-슬레이브, 클러스터?
- Redis의 감시 모드에서 Redis 클러스터에서 키 값을 찾고 저장할 수있는 방법은 무엇입니까? Redis 지속성 전략?
소스 코드 프레임 워크 관련
- Spring 프레임 워크는 무엇입니까? Spring 프레임 워크의 주요 모듈은 무엇입니까? IOC (Inversion of Control) 란 무엇입니까? 의존성 주입이란 무엇입니까?
- BeanFactory와 ApplicationContext의 차이점은 무엇입니까?
- Spring MVC의 워크 플로우에 대해 간략하게 이야기하십시오.
- @ModelAttribute를 사용하는 방법? 사용자 정의 데이터 유형 변환기에 대한 이해에 대해 이야기하십시오.
- MyBatis의 인터페이스 바인딩은 무엇이며 어떤 이점이 있습니까?
요약하자면
어느 회사이든 높은 동시성 및 고 가용성 기술, 기본 및 JVM을 매우 중요하게 생각합니다. 인터뷰는 양방향 선발 과정이므로 자신의 성과에 도움이되지 않는 두려운 태도로 인터뷰에 가지 마십시오. 동시에 급여뿐만 아니라이 회사를 정말 좋아하는지, 운동을 할 수 있는지도 신경 써야합니다. 사실 너무 많은 글을 쓰는 것은 모든 사람에게 적용되지 않을 수도 있고, 인터뷰를하면 누구나 이런 감정을 갖게 될 것이라고 믿습니다. 이것이 당신을 도울 수 있다면, 최고입니다!
Java 인터뷰 기술 포인트 개요, 실제 인터뷰 질문 및 주요 제조업체의 Java 인터뷰 질문 분석 자료가 친구에게 무료로 제공됩니다.
필요한 경우 클릭 한 번으로 트리플 링크 + 댓글을 작성하고 VX (tkzl6666)를 추가하면 무료로받을 수 있습니다.