이틀 전 한 친구가 인터뷰를 위해 공장에 갔는데 개장은 순조롭게 진행되었지만 그가 낙관하는 데 오래 걸리지 않았습니다.
벌써 2021 년이라 생각했는데 조만간 봄 모집군이 될 거라고 생각했는데, JAVA 퍼포먼스 튜닝에도 부족한 친구들이 많나요? 그래서 오늘 저는이 기사를 작성하고 있습니다. Ali P8 아키텍트가 20W 단어를 손으로 두드리는 튜닝 노트를 공유하고 싶습니다. 특히 MySQL, Tomcat 및 JVM의 세 가지 특수 처리에 대해 살펴 보겠습니다. 내 손으로 그린 해당 마인드 맵과 인터뷰와 관련된 고주파 실제 질문 및 답변.
Java 성능 튜닝의 실제 성능을 살펴 보겠습니다.
공간이 너무 많아서 강강 종합 카탈로그로 바로 가겠습니다. 아래 카타로그에서 내용이 무엇인지 대략 알 수 있습니다.
카탈로그에서 내용이 너무 많다는 것을 알 수 있습니다. 자세히 설명하지는 않겠습니다. 처음에 알리 P8 아키텍트의 튜닝 노트를 20W 단어로 공유하고 싶다고 말했습니다 . 무료입니다! , MySQL, Tomcat, JVM 등에 대한 더 많은 인터뷰와 내가 밤새 머물렀던 순수한 손으로 그린 마인드 맵이 있습니다.
내부의 자세한 내용을 보자
- 자바 프로그래밍 성능 튜닝
자바 프로그래밍 성능 튜닝
- 다중 스레드 성능 조정
다중 스레드 성능 조정
- JVM 성능 모니터링 및 튜닝
JVM 성능 모니터링 및 튜닝
- 디자인 패턴 튜닝
디자인 패턴 튜닝
- MySQL 성능 조정
MySQL 성능 조정
- 실습 분야
실습 분야
MySQL의 손으로 그린 마인드 맵 + 인터뷰
- MySQL 손으로 그린 마인드 맵
이 마인드 맵을 수작업으로 그리는 데 사용되는 xmind 소프트웨어는 각 지점을 클릭하면 상세한 분석을 할 수 있습니다. 원본은 여기에 업로드 할 수 없으므로 스크린 샷을보십시오. 원본은 편집자 와 공유 할 수 있습니다 . 필요, 무료로 여기를 클릭하세요 획득! 성능 튜닝이든 손으로 그린 마인드 맵과 인터뷰이든 상관 없습니다.
MySQL 손으로 그린 마인드 맵
- MySQL 인터뷰 (Ali P8 레벨, 자신의 레벨 테스트)
- 쿼리 문을 실행하는 MySQL의 내부 실행 프로세스에 대해 알려주세요.
- MySQL은 "이 열이 존재하지 않습니다"라는 메시지가 어느 노드에보고됩니까?
- MySQL 쿼리 캐시 기능의 장단점은 무엇입니까?
- MySQL의 쿼리 캐시 기능을 끄는 방법은 무엇입니까?
- MySQL에 일반적으로 사용되는 엔진은 무엇입니까?
- MySQL이 테이블 수준에 대한 데이터베이스 엔진을 설정할 수 있습니까? 설정하는 방법?
- 일반적으로 사용되는 스토리지 엔진 InnoDB와 MyISAM의 차이점은 무엇입니까?
- InnoDB의 기능은 무엇입니까?
- 자동 증가 테이블에는 세 개의 데이터가 있습니다. 두 개의 데이터를 삭제 한 후 데이터베이스를 다시 시작하고 다른 데이터를 추가하십시오.이 데이터의 ID는 무엇입니까?
- MySQL의 어떤 상황으로 인해 자동 증가 기본 키가 일치하지 않을 수 있습니까?
- InnoDB의 자동 증가 기본 키를 유지할 수 있습니까?
- 독립 테이블 스페이스 및 공유 테이블 스페이스 란 무엇입니까? 그들 사이의 차이점은 무엇입니까?
- 독립 테이블 스페이스를 설정하는 방법은 무엇입니까?
- 테이블 스페이스를 축소하는 방법은 무엇입니까?
- 테이블을 재 구축하는 실행 과정에 대해 이야기합니까?
- 테이블의 구조 정보는 어디에 있습니까?
- 커버링 인덱스 란 무엇입니까?
- InnoDB 테이블의 기본 키가 삭제되면 기본 키가없고 테이블로 다시 쿼리 할 방법이 없습니까?
- update 문을 실행 한 후 hexdump 명령을 실행하여 ibd 파일의 내용을 직접 확인했는데 데이터 변경 사항이 보이지 않는 이유는 무엇입니까?
- 메모리 테이블과 임시 테이블의 차이점은 무엇입니까?
- 동시 트랜잭션은 어떤 문제를 가져올 수 있습니까?
- 더티 리딩과 팬텀 리딩이란 무엇입니까?
- 팬텀 독서가있는 이유는 무엇입니까? 팬텀 리딩은 어떤 문제를 가져올까요?
- 팬텀 읽기를 피하는 방법?
- MySQL의 유휴 연결을 확인하는 방법은 무엇입니까?
- MySQL의 문자열 유형은 무엇입니까?
- VARCHAR과 CHAR의 차이점은 무엇입니까? 적용 가능한 시나리오는 무엇입니까?
- MySQL 스토리지 양에 어떤 데이터 유형을 사용해야합니까? 왜?
- 한계 3,2의 의미는 무엇입니까?
- now ()와 current_date ()의 차이점은 무엇입니까?
- InnoDB가 쿼리 할 때 총 수를 기록하고 직접 반환하지 않는 이유는 무엇입니까?
- 테이블 상태 표시의 행 수를 테이블의 총 행 수로 직접 사용할 수 있습니까? 왜?
- 다음 중 쿼리 성능이 가장 높은 SQL은 무엇입니까?
- 인덱스의 장점과 단점은 무엇입니까?
- 다음 SQL의 문제점은 무엇입니까? 최적화하는 방법?
- MySQL이 공식적으로 자동 증가 기본 키를 테이블의 기본 키로 사용하도록 권장하는 이유는 무엇입니까?
- 자동 증가 기본 키의 장점과 단점은 무엇입니까?
- 얼마나 많은 유형의 인덱스가 있습니까? 각각을 만드는 방법?
- 기본 인덱스와 고유 인덱스의 차이점은 무엇입니까?
- InnDB에서 기본 키 인덱스의 쿼리 성능이 일반 인덱스보다 높은 이유는 무엇입니까?
- 리턴 테이블 쿼리 란 무엇입니까?
- 10. 테이블의 모든 인덱스를 쿼리하는 방법은 무엇입니까?
- MySQL은 최대 몇 개의 인덱스 열을 만들 수 있습니까?
- 다음과 같은 쿼리가 색인을 사용하는 옵션은 무엇입니까? 왜?
- % abc처럼 인덱스 쿼리를 사용하는 방법은 무엇입니까?
- MySQL 공동 인덱스에 대해주의해야 할 사항은 무엇입니까?
- 공동 지수의 역할은 무엇입니까?
- 가장 왼쪽에있는 일치 원리는 무엇입니까? 효과적인 원칙은 무엇입니까?
- 열 값이 NULL 인 경우 쿼리에서 인덱스를 사용합니까?
- 다음 진술이 색인화됩니까?
- 휴대폰 번호의 처음 6 자리에 대한 인덱스를 만들 수 있습니까? 만드는 방법?
- 접두사 색인이란 무엇입니까?
- 접두사 색인을 사용하는 이유는 무엇입니까?
- 접두사 색인은 언제 사용하는 것이 적절합니까?
- 페이지 란?
- 인덱스에 대한 일반적인 저장 알고리즘은 무엇입니까?
- InnoDB가 B 트리, 해시, 레드-블랙 트리 또는 바이너리 트리 대신 B + 트리를 사용하는 이유는 무엇입니까?
- InnoDB가 인덱스를 저장하기 위해 B + 트리를 사용하는 이유는 무엇입니까?
- 고유 인덱스 또는 일반 인덱스에 더 적합한 것은 무엇입니까?
- 옵티마이 저의 쿼리 인덱스 선택에 영향을 미치는 요인은 무엇입니까?
- MySQL은 인덱스 스캔 행 수를 어떻게 결정합니까?
- MySQL은 인덱스 카디널리티를 어떻게 얻습니까? 정확합니까?
- 잠금이란 무엇입니까? MySQL에는 몇 가지 유형의 잠금이 제공됩니까?
- 일반적인 교착 상태는 무엇입니까?
- 교착 상태를 처리하는 방법?
- 교착 상태를 확인하는 방법은 무엇입니까?
- 교착 상태를 피하는 방법?
- InnoDB는 기본적으로 교착 상태를 어떻게 처리합니까?
- 교착 상태 감지를 활성화하는 방법은 무엇입니까?
- 글로벌 잠금이란 무엇입니까? 적용 시나리오는 무엇입니까?
- 공유 잠금이란 무엇입니까?
- 독점 잠금이란 무엇입니까?
- 전역 잠금을 사용하면 어떤 문제가 발생할 수 있습니까?
- 논리적 백업 중에 전체 데이터베이스를 삽입 할 수없는 상황을 어떻게 처리합니까?
- 데이터베이스를 전역 읽기 전용 잠금으로 설정하는 방법은 무엇입니까?
- FTWRL이 데이터베이스를 읽기 전용으로 설정할 수 있다는 점을 제외하고는 어떤 다른 방법이 있습니까?
- FTWRL과 set global readonly = true의 차이점은 무엇입니까?
- 테이블 잠금을 구현하는 방법은 무엇입니까?
- 비관적 잠금과 낙관적 잠금의 차이점은 무엇입니까?
- 낙관적 잠금의 장점과 단점은 무엇입니까?
- InnoDB 스토리지 엔진에는 몇 개의 잠금 알고리즘이 있습니까?
- MySQL의 중요한 로그 파일은 무엇입니까?
- 리두 로그와 빈 로그의 차이점은 무엇입니까?
- 충돌 안전이란 무엇입니까?
- 더티 페이지와 클린 페이지 란 무엇입니까?
- 어떤 상황에서 MySQL이 더티 페이지 (플러시) 작업을 플러시합니까?
- MySQL이 더티 페이지를 매우 느리게 플러시하는 이유는 무엇일까요?
- 현재 더티 페이지 만 새로 고치도록 MySQL을 제어하는 방법은 무엇입니까?
- MySQL의 WAL 기술은 어떤 문제를 해결합니까?
- 때때로 MySQL이 가끔 멈춘다 고 느끼는 이유는 무엇입니까?
- 리두 로그와 빈 로그는 어떤 관련이 있습니까?
- MySQL은 binlog가 완료되었음을 어떻게 알 수 있습니까?
- 다시 실행 로그 대신 MySQL에서 binlog를 사용할 수 있습니까?
- MySQL에서 binlog 대신 로그를 다시 실행할 수 있습니까?
- 리두 로그 버퍼가 전역 적으로 공유되는 동안 binlog 캐시가 각 스레드에서 유지되는 이유는 무엇입니까?
- 트랜잭션을 실행하는 동안 제출되지 않았습니다. 충돌이 발생하고 리두 로그가 손실되면 마스터와 백업간에 불일치가 발생합니까?
- 임의 읽기 / 쓰기 디스크의 IO 소비를 최적화하기 위해 MySQL에서 사용되는 메커니즘은 무엇입니까?
- 과거에 MySQL 데이터를 지정된 시간 노드로 복원하는 방법이 있습니까? 회복하는 방법?
- MySQL 명령 및 내장 함수
- 명령 줄로 MySQL 데이터베이스에 연결하는 방법은 무엇입니까?
- mysql -h 127.0.0.1 -uroot -P 3307 -p3307 명령과 관련하여 다음 명령문에 어떤 문제가 있습니까?
- 사용자를 생성하는 방법은 무엇입니까? 그리고 사용자를 승인 하시겠습니까?
- MySQL 비밀번호를 변경하는 방법은 무엇입니까?
- SQL을 사용하여 데이터베이스를 만들고 데이터베이스의 인코딩 형식을 설정하는 방법은 무엇입니까?
- 데이터베이스 및 테이블의 인코딩 형식을 수정하는 방법은 무엇입니까?
- SQL을 사용하여 테이블을 만드는 방법은 무엇입니까?
- MySQL 명령 줄에서 테이블 구조 정보를 보는 방법은 무엇입니까?
- SQL을 사용하여 알려진 테이블의 테이블 생성 스크립트를 보는 방법은 무엇입니까?
- SQL 문을 사용하여 테이블 구조를 업데이트하는 방법은 무엇입니까?
- MySQL의 삭제 방법은 무엇입니까? 차이점이 뭐야?
- MySQL 서비스를 열고 닫는 방법은 무엇입니까?
- 현재 MySQL 설치의 버전 번호를 쿼리하는 방법은 무엇입니까?
- 테이블의 스토리지 엔진을 확인하는 방법은 무엇입니까?
- 현재 데이터베이스 추가, 삭제, 수정, 질의 수행 횟수 통계보기
- 스레드 연결 수를 쿼리하는 방법은 무엇입니까?
- 최대 MySQL 연결 수를 확인하는 방법은 무엇입니까? 수정할 수 있습니까? 수정하는 방법?
- CHAR_LENGTH와 LENGTH의 차이점은 무엇입니까?
- UNION과 UNION ALL의 목적은 무엇입니까? 차이점이 뭐야?
- WHERE 및 HAVING에 대한 다음 설명 중 올바른 것은 무엇입니까?
- MySQL 성능 지표는 무엇입니까? 이 지표를 얻는 방법?
- 느린 쿼리 란 무엇입니까?
- 느린 쿼리 로그를 활성화하는 방법은 무엇입니까?
- 느린 쿼리를 찾는 방법은 무엇입니까?
- MySQL의 최적화 방법은 무엇입니까?
- 일반적인 MySQL 읽기-쓰기 분리 솔루션은 무엇입니까?
- Sharding-JDBC의 기능과 실행 과정에 대해 알려주세요.
- MySQL 다중 인스턴스 란 무엇입니까? MySQL 다중 인스턴스를 구성하는 방법은 무엇입니까?
- 대기 데이터베이스에 지연이 없는지 확인하는 방법은 무엇입니까?
총 128 개의 문항이 있습니다 답변은 다음과 같습니다 64 페이지의 질문과 답변이 있습니다 ...
MySQL Ali P8 인터뷰에 대한 답변 분석
자바 가상 머신 -JVM 손으로 그린 마인드 맵 + 인터뷰
- JVM 손으로 그린 마인드 맵
JVM 손으로 그린 마인드 맵
- JVM 인터뷰
- Java 클래스 로딩 프로세스?
- JVM 로딩 클래스 파일의 원리 메커니즘을 설명하시오?
- 자바 메모리 할당
- GC 란 무엇이며 왜 GC입니까?
- Java 가비지 수집 메커니즘에 대해 간략하게 설명
- 물체가 살아 있는지 판단하는 방법은 무엇입니까? (또는 GC 객체를 결정하는 방법)
- 가비지 콜렉션의 장점과 원칙. 그리고 두 가지 재활용 메커니즘을 고려하십시오.
- 가비지 수집기의 기본 원리는 무엇입니까? 가비지 수집기가 메모리를 즉시 회수 할 수 있습니까? 가비지 수집을 위해 가상 머신에 사전에 알리는 방법이 있습니까?
- Java에서 메모리 누수가 발생합니까? 간단히 설명하십시오.
- 전체 복사 및 얕은 복사
- System.gc () 및 Runtime.gc ()는 무엇을합니까?
- finalize () 메서드는 언제 호출됩니까? 마무리의 목적은 무엇입니까?
- 개체의 참조가 null로 설정되면 가비지 수집기가 개체가 차지하는 메모리를 즉시 해제합니까?
- 분산 가비지 수집 (DGC)이란 무엇입니까? 어떻게 작동합니까?
- 직렬 수집기와 처리량 수집기의 차이점은 무엇입니까?
- Java에서 객체는 언제 가비지 수집 될 수 있습니까?
- Java 메모리 할당 및 복구 전략과 Minor GC 및 MajorGC를 간략하게 설명합니다.
- JVM의 영구 생성에서 가비지 콜렉션이 발생합니까?
- Java에서 가비지 수집 방법은 무엇입니까?
- 클래스 로더는 무엇이며 클래스 로더는 무엇입니까?
JVM 인터뷰 답변 분석
Tomcat 튜닝
- Tomcat 튜닝 인터뷰 질문
- 바람둥이를 어떻게 조정합니까?
- 바람둥이 연결 수를 늘리는 방법은 무엇입니까?
- Tomcat에서 파일 나열을 금지하는 방법은 무엇입니까?
- 바람둥이의 기억력을 높이는 방법?
- Tomcat을 배포하는 방법은 몇 가지입니까?
- Tomcat 최적화 경험?
- ... ...
Tomcat 튜닝 인터뷰 질문 답변 분석
- Tomcat 아키텍처 분석 문서
Tomcat 아키텍처 분석 문서
Tomcat 아키텍처 분석 문서
최종 진술
전체 텍스트 + MySQL 인터뷰-손으로 그린 마인드 맵 + JVM 손으로 그린 마인드 맵-인터뷰 + Tomcat 인터뷰-아키텍처 분석 문서에 언급 된 JAVA 의 실제 성능 튜닝을 다루기 위해 튜닝에 대해 더 많이 배워야 한다고 생각하는 경우 봄 모집과 함께 , 네 도움이 필요한 친구, 여기를 클릭하여 무료로 받으십시오!