시중에는 Java 학습 책이 많이 있습니다. 대부분의 책은 Java의 가장 기본적인 부분을 설명합니다. 일부 약간 비공식적인 책에는 잘못된 내용이 있을 수 있으며, 인터넷에는 온갖 종류의 Java 인터뷰도 있습니다. 질문은 Java의 기본에 중점을 둡니다. 실제로 수석 Java 개발 엔지니어에 지원하는 경우 이러한 기본 지식의 목록만으로는 충분하지 않습니다. 또한 알고리즘, 데이터 구조, 운영 체제 등을 이해해야 합니다. 내용이 많기 때문에 구체적인 기술에 대한 설명은 생략하고, 대신 기업의 선배 Java 개발 엔지니어 채용을 위한 면접 질문을 정리했습니다.
1. Java 기본
1. 객체지향
객체지향의 핵심 개념을 익히고 깊이 이해합니다
캡슐화, 상속, 다형성 관련 기술을 익히고 이해합니다
2. O
바이트 스트림 FileInputStream, FileOutputStream 및 문자 스트림 FileWriter, OutputStreamWriter를 능숙하게 사용하세요
파일 유형의 구성을 마스터하고, 획득, 생성 및 삭제
3멀티 스레딩
스레드 유형 마스터
마스터. 멀티 스레드 프로그램 작동 및 동시성의 원리
4 , 예외
예외의 작동 원리를 숙지하고 예외 처리를 숙달합니다.
2. Java 가상 머신
1 JVM 메모리 영역 분할
JVM 메모리 매개 변수를 마스터합니다. 설정 및 튜닝
프로그램 카운터, 힙, 가상 머신 마스터 스택의 기능 및 기본 원리, 로컬 메소드 스택, 메소드 영역(Java8에서 제거됨), 메타스페이스(Java8에서 새로운 기능)
2 클래스 로딩을 마스터하세요. 클래스 로딩 단계: 로딩, 링크(검증, 준비, 구문 분석) 초기화, 사용, 제거.
클래스 로더의 분류와 해당 애플리케이션 클래스 로더, 사용자 정의 로더를 숙지하세요.
3. J2EE
서블릿의 내장 객체, 액션, 관련 특성과 작동 원리를 익히세요
Spring 프레임워크(리플렉션 및 동적 프록시)의 IOC 및 AOP 구현 원리를 익히세요
at의 작동 원리를 익히세요. 최소한 하나의 MVC 프레임워크(Spring MVC)를 능숙하게 사용하십시오.
4. 데이터 구조 및 알고리즘
선형 테이블과 트리의 특성을 익히고 능숙하게 사용하세요
일반적인 정렬 및 검색 알고리즘 익히기: 삽입 정렬(힐 정렬), 선택 정렬(힙 정렬), 교환 정렬(버블 정렬) ) 정렬) 순차 검색, 이진 검색, 해시 검색
정렬 및 검색 아이디어를 사용하여 프로그래밍 문제 해결에 능숙
5. 데이터베이스
SQL 문 작성 마스터
데이터베이스 최적화 마스터(SQL 레벨 및 테이블) 디자인 수준)
하나 이상의 데이터베이스 제품을 마스터하세요.
높은 동시성 및 빅 데이터 상황에서 데이터베이스 개발에 익숙합니다.
6. 웹 기술
AJAX의 작동 원리를 마스터하세요.
JQuery와 같은 JS 프레임워크 하나 이상 숙지
Seven.Linux
일반적인 Linux 명령 사용에 능숙함
Linux 운영 체제의 기본 개념과 기능에 익숙함
정규 표현식
일반적인 정규 표현식을 마스터하세요