JVM / 동시성 / MySQL / Java / Redis / 네트워크 등이 완료되지 않았습니다. BAT를 압축 하시겠습니까?

JVM / Concurrency / MySQL / Java / Network / Redis / Linux 등이 다 끝나지 않았습니다. BAT를 짜시겠습니까?
이틀 전에 Java를 배우는 친구에 대한 게시물을 읽었습니다. 작년에 Zha Shuo가 졸업 할 때까지 말이죠. 사실 솔직히 말해서 졸업 후 자바를 배우기 시작하는 것은 사실입니다. 현재 나도 이력서 면접에 투표하기 위해 대기업에 갔지만 결과는 상당히 비참했다 ... Tencent (일면), Meituan (양면), Netease Yanxuan (oc), Hangzhou byte lark (구두 제안) ), Ali 새로운 소매 비즈니스 플랫폼 (oc), Didi Trading Platform (HR 측) …이 사람들 의 인터뷰 경험을 읽은 후이 기사를 작성하고 BAT 인터뷰의 고주파 위험 요소 중 일부를 요약했습니다. ). 인터뷰와 스터디 노트) 는 우리가 마스터해야 할 전부입니다. 그렇지 않으면 인터뷰는 폭격으로 죽을 것입니다 ... 결국 이것들은 "완료"되지 않고 큰 공장에 가고 싶습니다. 어렵습니까?

영상

사전 성명 :이 기사는 BAT로 압축하는 데 필요한 JVM, Redis, 동시성, MySQL, Java, 네트워크, Linux 등의 지식 포인트를 요약 및 분석하고, 일부 고주파 포인트를 분석 및 강조하고 요약합니다. 모든 인터뷰와 스터디 노트는 무료로 공유 할 수 있으며, [BAT]를 클릭하면 획득 수 있습니다.

말도 안돼, JVM 인터뷰 관련 이야기하자

1. [빈도] 자바 메모리 영역  : 프로그램 카운터, 가상 머신 스택, 로컬 메소드 스택, 힙, 메소드 영역, 메타 공간 등 각 영역에 도입 할 수 있어야합니다
. 2. 마이너 GC 트리거 조건 : 에덴에 남은 메모리가 있는지 여부 면적이 충분 두 경우 별도로 분석 하였다.
3. FULL GC 트리거 조건 : 보조 GC 평균 추진 공간 크기> 노년 연속 나머지 공간은 다음 FULL GC 트리거한다
. 4. [고주파] 오브젝트를 판정하기위한 방법 death  : 참조 카운팅 방법, 도달 가능성 분석 알고리즘 (더 자세히 : GC 루트 객체는 무엇입니까? GC 루트 객체로 선택한 이유는 무엇입니까?)
5. 가비지 수집 알고리즘 : 마크 제거 알고리즘, 마크 정렬 알고리즘, 복사 알고리즘, 세대 별 수집 알고리즘 (심층 : 각 알고리즘 시나리오의 장점 및 응용)
6. 가비지 수집기 : 직렬, 병렬, CMS, G1, CMS, G1 초점, 워크 플로 및 장점 및 단점 소개
7. 메모리 누수

  • 예 : {싱글 톤, 컨테이너 등}
  • 이유 : 긴 수명주기는 짧은 수명주기 참조를 유지합니다.

8. 참조 유형 : 강한 참조, 소프트 참조, 약한 참조, 팬텀 참조
9. [주파수] 클래스 로딩 프로세스  : 로딩, 연결, 초기화, 어떤 클래스 로더가 있습니까? Java.Object.String의 클래스 로더를 사용자 정의 할 수 있습니까?
10. [빈도] 부모 위임 메커니즘  의 소개 및 기능

JVM 관련 상태에 대해 배울 수있는 PDF 노트 : 메모리 구조, 가비지 수집, 클래스 로딩 및 바이트 코드 기술, 메모리 모델, JVM 인터뷰 질문 답변, JVM 튜닝 측면 등 (아래 그림에 표시된 PDF)

image.png

두 번째는 Java 관련

차이점 1.ArrayList 및 LinkedList
비교 2.HashMap 및 ConcurrentHashMap : 스레드 안전성 문제 등 (심도 :? HashMap 스레드로부터 안전 할 수없는 이유, 예를 들어 = {Concurrent resize () 트리거 폐쇄 루프 구조, 풋 작업 포함})
3. [빈도] HashMap 관련 문제

  • HashMap 시리즈는 더 중요한 핵심 소스 코드를 통해 이해해야합니다.
  • HashMap의 크기가 2의 제곱 인 이유는 무엇입니까?
  • HashMap resize () 프로세스를 도입 할 수 있습니까?
  • HashMap의 효율성은 어떤 영향을 줍니까 (부하율, 해시 배열 크기)?
  • HashMap에서 외란 기능의 역할은 무엇입니까?

4. Hashtable과 HashMap의 차이점

  • 기본 데이터 구조 (JDK1.8 이후에 다름)
  • 다른 부모
  • 다른 확장 방법
  • 다른 스레드 잠금 범위 (강조)

5. 같음과 ==의 차이

  • 재 작성이 hashCode () 재 작성과 동일한 이유
  • 해시 값이 같고 두 개체가 반드시 같지는 않습니다.

6. [빈도] String StringBuffer StringBuilder의 차이점과 각각의 사용 시나리오 (심층 : String은 어떻게 불변성을 실현합니까? String을 불변 객체로 설정하는 이유는 무엇입니까?)
7. 인터페이스 및 추상 클래스 차이점
8. 재 작성 및 재 작성 차이점 loading
9. 딥 카피와 얕은 카피 의 차이점
10. 세 가지 자바 기능
11. 객체 메소드 : finalize, clone, getClass, equals, hashCode
12. [High frequency] 디자인 패턴 : {Singleton mode, Factory mode, Decoration Maker mode, 에이전트 모드, 전략 모드 등}
자세히 알아보기 : 싱글 톤 모드가 이중 감지 메커니즘을 사용하는 이유는 무엇입니까? 싱글 톤이 Volatile로 장식 된 이유는 무엇입니까? 장식 모드와 에이전시 모드의 차이점은 무엇입니까?

Java 관련 메모, 가장 중요한 것은 기본 중급 개발 수석 프로그래머 인터뷰와 23 개의 디자인 패턴에서 얻은 지식 포인트와 인터뷰 질문을 구성하는 것입니다.

image.png

세 번째는 동시성입니다.

1. 스레드 상태 : {new, runnalbe, wait, time-wait, block, terminated}
2. 프로세스, 스레드 및 코 루틴의 의미와 차이점 (개인 이해는 점진적으로 제안 된 개념의 집합입니다.)
3. 프로세스 간 통신 : 파이프 , FIFO, 세마포어, 공유 메모리, 메시지 큐, 소켓
4. 교착 상태를 피하는 방법은 무엇입니까? 교착 상태에 필요한 네 가지 조건 5.
수면과 대기의 차이
6. [고 빈도] 동기화 와 잠금 의 차이 ?
7. 동기화 된 저수준 최적화 : 잠금 없음, 편향된 잠금, 경량 잠금, 헤비급 잠금
8. 휘발성의 역할 : 변수의 가시성을 보장하는 명령어 반복 (JMM 설계)
9. ThreadLocal 기본 원칙
10. [High Frequency】 Thread 풀

  • 스레드 풀 생성자에 포함되는 매개 변수 : {corePoolSize, maximumPoolSzie, timeout, timeUnit, RejectHandler, 대기 대기열, 스레드 팩토리}
  • Shao 스레드 풀 작업 프로세스?
  • 스레드 풀 거부 전략은 무엇입니까?
  • Executor를 사용하여 스레드 풀을 만드는 단점은 무엇입니까?

11. AQS 프레임 워크 원칙 및 소스 코드 이해

동시 프로그래밍 측면에서, 며칠 전, 동시 프로그래밍, 패턴, 응용 프로그램, 원칙, 실제 인터뷰 질문 및 답변 등 큰 젖소가 손으로 쓴 4 점을 받았습니다.

영상

네 번째는 MySQL (매우 중요)

1. [고주파] MyISAM과 InnoDB의 차이점 :

  • 행 잠금 지원 여부
  • 15 지원 여부
  • MVCC 지원 여부
  • 기본 인덱스 구조가 다릅니다.

2. 트랜잭션 특성 ACID (조금 더 깊이 : 왜 일관성이 있습니까? AID는 이미 일관성을 보장합니까?)
3. 동시 트랜잭션으로 인한 문제 : 더티 읽기, 수정 손실, 반복 불가능한 읽기, 팬텀 읽기
4. [높은 빈도] 트랜잭션 격리 수준
5. [고주파] MVCC 메커니즘
6. [고주파] 인덱스

  • 인덱스가 B 트리 대신 B + 트리 구조를 사용하는 이유
  • 인덱스가 레드-블랙 트리 대신 B + 트리 구조를 사용하는 이유 : 디스크 사전 읽기, 레드-블랙 트리 높이

7. 클러스터형 인덱스와 비 클러스터형 인덱스의 차이점은 무엇입니까? 기본 키 인덱스와 보조 인덱스를 이해하고 있습니까?
8. 각 열에 대한 인덱스를 생성하지 않는 이유는 무엇입니까?
9. [빈도] SQL 문 최적화, SQL 토픽 (바이트 요구 사항 코드)
10. Explain에서 행 유형 키 추가 필드의 의미는 무엇입니까?
11. count (1) count (*) count (열 값) 차이

MySQL은 정말 매우 중요합니다.이 영역에는 많은 것들이 있습니다. 어떤 종류의 튜닝, 인터뷰, 학습 PDF 및 많은 도둑이 있습니다. 이러한 PDF는 모두 다음 그림에서 필수 학습 책입니다.

영상

Redis도 필수 불가결합니다 (Meituan은 Redis에 대한 소프트 스팟이 있음)

1. redis를 사용하는 이유 / 캐시를 사용하는 이유 (고성능, 높은 동시성)
2. 캐싱에 map / guava 대신 redis를 사용하는 이유
3. Redis 공통 데이터 구조 및 사용 시나리오 분석 ( String, Hash, List, Set), Sorted Set )
4. Redis는 만료 시간을 설정합니다
. 5. Redis 메모리 제거 메커니즘 ( MySQL에는 2000w 데이터가 있고 Redis에는 20w 데이터 만 있습니다. Redis의 데이터가 핫 데이터인지 확인하는 방법은 무엇입니까? )
6. Redis 지속성 메커니즘 ( 방법 redis가 중단되고 다시 시작된 후 데이터를 복원 할 수 있는지 확인 )
7. 일반적인 Redis 예외 및 솔루션 ( 캐시 침투, 캐시 눈사태, 캐시 워밍업, 캐시 저하 )
8. 분산 환경의 일반적인 애플리케이션 시나리오 ( 분산 잠금), 분산 자기 증가 ID )
9. Redis 클러스터 모드 ( 마스터-슬레이브 모드, 센티넬 모드, 클러스터 클러스터 모드 )
10. Redis Key의 동시 경쟁 문제를 해결하는
방법 11. 캐시와 데이터베이스 이중의 데이터 일관성을 보장하는 방법 쓰다?

Redis 답변은 다음과 같이 분류되었습니다.

영상

네트워크 측면

1. TCP / IP 모델 및 OSI 모델
2. 애플리케이션 계층, 전송 계층, 네트워크 계층 공통 프로토콜 : DNS, HTTP, FTP, STMP, SSL, TCP, UDP, ARP, IP
3. [고주파] TCP 3 방향 핸드 셰이크 , TCP Wave 4 회

  • 더 자세히 : 왜 두 번 악수를 할 수 있습니까?
  • 네 개의 웨이브가있는 time_wait 상태는 무엇입니까? 가까운 대기 상태?
  • 어떤 시나리오에서 time_wait 상태가 너무 많으며 어떤 문제가 발생합니까?

4. TCP 신뢰도 : ARQ, 흐름 제어, 혼잡 제어, 체크섬
5. [빈도] 홈페이지를 표시하기 위해 URL을 입력하는 과정 // 한 번 밖에 접해 본 적이 없지만,보고 나서 많은 질문이있는 것 같습니다. .
6. HTTPS와 HTTP의 차이점 (조금 더 깊이 : HTTPS 암호화 프로세스에 대한 소개?)
7. 쿠키와 세션의 차이점
8. Http1.0과 HTTP1.1 및 Http2.x의 차이점
9. get 의 차이점 및 게시
10. 공통 상태 코드

네트워크 부분은 며칠 전에 유지되어 자세한 답변이있는 다음 5 개의 인터뷰 지식 포인트를 수집했습니다.

영상

운영 체제 정보 (상대적으로 적음)

1. 사용자 모드와 커널 모드의 차이점
2. fork ()의 ​​기능
3. Select poll epoll의 차이점
4. 가상 메모리의 기능? 메모리 페이징의 역할?
5. 페이지 폴트 예외 소개
6. OOM 문제와 StackOverFlow의 차이점

다른

1. 리눅스 지침 이해 필요

리눅스 명령어에 관해서는 설치 목적 (알파벳순 26 개)별로 정렬 된 "Linux. Command Collection"을 실제로 볼 수 있습니다.

영상

영상

영상

영상

2. 몇 가지 빅 데이터 시나리오를 이해해야합니다. 예를 들어 1 억 데이터는 상위 10 개, 1 억 데이터는 상위 10 개, 1 억 개의 URL은 반복 URL입니다.
3.64 개의 말과 8 개의 트랙. 상위 8 개 종족은 몇 개입니까? 지적 질문을 기다리는 중 (바이트 자주 테스트)
……

종료

BAT- 가까이, 멀리, 모두가 "압박"하고 싶어합니다. 큰 공장은 꿈입니다. 꿈을 현실로 바꾸려면 자신에게 의존해야합니다. Redis, JVM, 동시성, MySQL, Java 및 인터넷조차 멈출 수 없다면 BAT는 어떻습니까?

영상

이 기사는 JVM, 동시성, MySQL, Java, 네트워크, Redis, Linux 등과 같이 BAT를 인터뷰하기 전에 알아야 할 몇 가지 지식 포인트를 요약하고 분석 하며 해당 노트 PDF **도 있습니다. 하지만 사실 이것들은 몇 개에 불과하고 하나씩 소개하지 않을 것들이 많이 있습니다. 관심있는 친구들은 무료로 공유 할 수 있습니다.) **, 인터뷰 준비에 필수적이거나 공부. 좋아요를 눌러주세요. [여기를 클릭 하여 ] 모든 PDF (인터뷰 + 연구)를 무료로 다운로드하세요.

JVM / 동시성 / MySQL / Java / network / redis / Linux 등이 "살아 있지"않은데, BAT를 짜는 것이 어렵습니까?

추천

출처blog.csdn.net/lyl5454/article/details/112306569