알고베이직
모든 사람이 알고리즘 및 컴퓨터 기본(컴퓨터 네트워크, 운영 체제, MySQL 등 포함)과 같은 고품질 기술 기사를 더 잘 읽을 수 있도록 이 기사를 고화질 목차가 포함된 PDF로 구성했습니다. 하지만 나중에 오류를 수정하고 새로운 내용을 추가하는 편의를 위해 이런 Github가 있습니다.
그래서 이 Github에서는 데이터 구조, 알고리즘, 컴퓨터 기초, 나의 학습 경험 등에 관한 기사를 공유할 것입니다. 인터뷰, 특히 학교 채용을 다루거나 내부 기술을 향상시키고 싶든 내 기사가 도움이 될 것이라고 생각합니다. 이 기사는 기본적으로 주요 블로그 플랫폼으로부터 지속적인 칭찬을 받은 후 여기에 업데이트됩니다.
그리고 글을 읽어보시고 도움이 되셨다면 슈아이디님께서 제 허영심에 별 하나 달라고 부탁드리고 싶습니다. 만약 별이 더 많으면 스크린샷을 찍을 기회가 있을지도 모르겠습니다. 모먼츠에 B인 척 보내, 히히.
마지막으로 전자책의 PDF 또는 epub 버전을 읽으려면 내 WeChat 공개 계정 Shuai Di Wan 프로그래밍으로 이동하여 프로그래머의 내면 근력 훈련 에 답변하고 PDF/epub 버전을 다운로드할 수 있습니다. 모든 기사를 고화질 목차로 정리한 전자책입니다. 책을 스캔하고 따라가기만 하면 됩니다.
목차
- 학습 알고리즘
- 학습 알고리즘 경험 공유
- 재귀 학습
- 동적 프로그래밍 배우기
- 이진 검색 알아보기
- 캠퍼스 채용 알고리즘 면접 장면을 재현
- 문자열 일치 알고리즘 알아보기
- 알고리즘적 사고와 기술을 배워야 합니다.
- 정렬 알고리즘을 배워야 합니다
- 이진 트리 얻기
- 연결리스트 얻기
- 데이터 구조 배우기
- 컴퓨터 네트워크 배우기
- 재학생을 위해 작성된 경험 요약
- 개인적인 경험과 반성
- 운영 체제 알아보기
- MySQL
- 자바
- 힘내
- 내가 읽은 고품질 도서 추천
- 후속 조치
- 고마워하다
학습 알고리즘
학습 알고리즘 경험 공유
- 프로그래머는 어떤 알고리즘을 마스터해야 합니까?
- 초보자인데 알고리즘을 어떻게 배워야 하나요?
- 리트코드 500문제를 풀고 나면 필기시험/면접에 합격해도 괜찮나요?
재귀 학습
- 왜 재귀를 배울 수 없습니까? 재귀에 작별 인사를 하고 내 경험에 대해 이야기해 보세요.
- 훈련 1: 길이가 같은 두 개의 정렬된 배열에서 상위 중앙값 찾기
- 훈련 2: 두 개의 정렬된 배열의 K번째 소수 찾기
- 훈련 3: 두 개의 정렬된 배열의 중앙값 찾기(사고 전환의 중요성에 대해)
동적 프로그래밍 배우기
- 다이나믹 프로그래밍이 어려운가요? DP에서 40가지 질문에 답한 후, 이러한 루틴을 정리했습니다!
- 동적 프로그래밍 최적화
- 훈련 1: 3가지 1차원 동적 계획법 알고리즘 문제에 대한 자세한 설명
- 훈련 2: leetcode221 질문에 대한 자세한 설명: 최대 제곱
이진 검색 알아보기
- 바이너리 검색을 할 수 있다고 확신하시나요? 인생에서 사기를 설계하는 데 사용될 수 있습니까?
- 간단해 보이는 두 가지 알고리즘 질문
- 이분법적 질문 요약
캠퍼스 채용 알고리즘 면접 장면을 재현
- ByteDance 알고리즘 인터뷰 질문을 기억하세요: 변형된 연결 목록 반전
- 손으로 쪼개진 알고리즘을 사용한 인터뷰를 기억하세요: ByteDance의 면접관이 저를 4번 연속 때렸습니다.
- Alibaba 서면 테스트 문제: 코드 한 줄로 조셉 링 문제를 해결한 방법
- Alibaba와의 인터뷰를 기억하세요: LRU 캐시 알고리즘 설계에 초점을 맞춘 인터뷰
- 접두어 합계 적용은 NetEase 필기 시험 문제로 시작됩니다.
- 인터뷰 남용: shopee 알고리즘 인터뷰 질문을 기억하십시오: 최소 스택의 최적 솔루션
- 인터뷰 악용: 게임 내 민감한 단어 필터링은 어떻게 구현되나요?
- 2GB 메모리만 사용하여 20억, 40억, 80억 정수 중에서 가장 빈번한 숫자를 찾아보세요.
문자열 일치 알고리즘 알아보기
- KMP 알고리즘과 일치하는 그래픽 문자열
- 문자열 일치 Boyer-Moore 알고리즘: 텍스트 편집기에서 검색 기능은 어떻게 구현됩니까?
알고리즘적 사고와 기술을 배워야 합니다.
- 궁극적인 목표를 향한 노력: 쉬운 수준의 알고리즘 질문을 어려운 수준의 질문으로 바꾸려면 어떻게 해야 합니까?
- 영리한 솔루션으로 알고리즘 문제 공유
- 팩토리얼은 간단하다? 솔직히 말해서 이러한 요인 관련 면접 질문을 반드시 이해하지 못할 수도 있습니다!
- 면접관님, 그렇게 간단하면서도 어려운 알고리즘 질문은 하지 마세요.
- 엄청난! 코드 한 줄로 오랫동안 나를 괴롭혔던 수많은 알고리즘 문제를 실제로 해결할 수 있습니다.
- Shuaidi는 문제를 더 빨리 해결하는 데 도움이 되는 고주파 알고리즘 문제 해결 기술을 요약했습니다!
- 알고리즘 데이터 구조의 트릭은 무엇입니까?
- 비트에 정통한 척하기 위한 가이드
- 누락된 정수 찾기
정렬 알고리즘을 배워야 합니다
- 코믹: 다시는 빠른 정렬에 대해 묻지 마세요.
- 코믹: O(n) 복잡도 기수 정렬이 퀵 정렬만큼 빠르지 않은 이유는 무엇입니까?
- 만화: 외부 정렬: 2GB 메모리를 사용하여 20억 개의 정수를 정렬하는 방법은 무엇입니까? (사실 이것도 흔한 면접질문입니다)
- 스크롤을 중지하세요. 프로그래머는 상위 10가지 고전 정렬 알고리즘을 배워야 합니다. 이 기사를 읽어보세요.
이진 트리 얻기
- 이진 트리의 선주문 순회(비재귀 버전)
- 이진 트리의 중위 순회(비재귀 버전)
- 이진 트리의 후위 순회(비재귀 버전)
- 위에서 아래로 이진 트리를 인쇄합니다.
- 이진 트리 구축
- 이진 트리의 거울
- 이진 트리의 하위 구조
- 이진 검색 트리의 후위 순회 시퀀스
- 이진 트리 다시 작성
연결리스트 얻기
- 연결 목록 훈련 1: 단일 연결 목록의 K번째 노드 삭제
- 연결 목록 훈련 2: 단일 연결 목록의 중간 노드 삭제
- 연결 목록 훈련 3: 단일 연결 목록을 정상적으로 뒤집는 방법
- 연결리스트 훈련 4: 순환 단일 연결리스트의 조셉 문제
- 연결 목록 훈련 5: 회문 연결 목록을 우아하게 판단하는 데 도움이 되는 세 가지 방법
- 연결 목록 훈련 6: 단방향 연결 목록을 특정 값에 따라 왼쪽이 작게, 가운데가 같음, 오른쪽이 큰 형태로 나눕니다.
- 연결 목록 훈련 7: 임의의 포인터 노드를 포함하는 연결 목록 복사
- 연결 목록 훈련 8: 단일 연결 목록의 각 K 노드 사이의 순서를 반대로 바꿉니다.
- 연결 목록 훈련 9: 검색 이진 트리를 이중 연결 목록으로 변환
데이터 구조 배우기
- 바이너리 힙이란 도대체 무엇인가?
- 힙 정렬이 도대체 뭔가요?
- 만화: avl 트리란 무엇입니까?
- Tencent 인터뷰 질문: 이진 검색 트리를 사용할 때 균형 트리에 레드-블랙 트리가 필요한 이유는 무엇입니까?
- 고주파 인터뷰: B-트리란 무엇입니까? 파일 인덱스가 이진 검색 트리 대신 B-트리를 사용하는 이유는 무엇입니까?
- 앞으로 면접관이 점프대에 대해 묻는다면 이 글을 그 사람에게 던져보세요.
컴퓨터 네트워크 배우기
- 한 기사에서 한 컴퓨터가 다른 컴퓨터로 데이터를 보내는 방법 이해
- 무작위 대화: https란 무엇입니까? 이것은 전체 인터넷에서 https에 관한 최고의 기사여야 합니다.
- 일러스트레이션: 전혀 모르는 호스트가 어떻게 이틀 동안 올바른 데이터 전달을 달성할 수 있었나요?
- 디지털 서명이란 무엇입니까?
- 혼잡 제어란 무엇입니까?
- TCP 흐름 제어란?
- 브로드캐스트 라우팅 알고리즘은 무엇입니까? 방송 폭풍을 해결하는 방법은 무엇입니까?
- 면접관은 3자 악수와 4자 웨이브에 대해 우리에게 무엇을 테스트하고 싶어합니까?
- 컴퓨터의 IP는 어디에서 왔습니까? 아직 구성하지 않았습니다.
- 회선 교환과 패킷 교환의 차이점
재학생을 위해 작성된 경험 요약
- 저는 4년 동안 프로그래밍을 공부해 왔으며 이러한 고품질 학습 도구, 웹 사이트 및 자료를 여러분에게 추천합니다.
- 오랫동안 고민한 결과 일반 대중에게 적합한 학습 경로입니다.
- 핵심 편집: 당신을 도약하게 만들 기본적인 컴퓨터 지식: 무엇을 배우고 어떻게 배울 것인가?
- 글쎄, 나는 봄 채용에서 Tencent와의 인터뷰에 두 번 실패했습니다. 나의 실패 + 어리석은 인터뷰 경험을 공유하겠습니다.
- 두 달 간의 가을 채용을 마치고, 봄, 가을 채용 시 중요한 지식 포인트에 대해 이야기해보겠습니다.
- 다가오는 봄 채용에 대한 이야기가 필요합니다 (경험 + 중요성 + 준비 방법)
- 봄, 가을 모집 기간 동안 진행한 프로젝트에 대해 말씀해 주시고, 몇 가지 프로젝트와 인터뷰 영상을 추천해 주세요.
개인적인 경험과 반성
- 가을모집 끝났어 나에겐 평범한 대학 3년
- 지난 15개월 동안 공개 계정을 작성하면서 그 과정에서 무엇을 배우고 얻었습니까?
- 나의 2019
- 공개 계정에 글을 쓰기 시작한 지 1년이 넘도록 트러블과 차단, 칭찬을 경험하면서 속상한 마음이 듭니다.
- 2020년 첫 번째 원본 기사: 나 자신을 더 좋게 만드는 방법
- 최근 나의 일상과 공부, 생각에 대해 이야기해보겠습니다.
운영 체제 알아보기
이 부분은 내용이 다소 부족하여 추후 점차 추가될 예정이니 계속 지켜봐 주시기 바랍니다.
- 인터뷰를 기억하세요. 프로세스 간 통신 방법은 무엇입니까? 의사소통하는 방법?
MySQL
- Tencent 인터뷰: SQL 문이 느리게 실행되는 이유는 무엇입니까?
- 인터뷰 팁: MySQL 인덱스 관련
- 이 두 가지 작은 트릭을 사용하면 SQL 문이 함정을 피할 수 있을 뿐만 아니라 SQL 문을 1000배나 향상시킬 수 있습니다.
자바
- 스레드 안전성(1부): 휘발성 키워드를 철저히 이해합니다.
- 스레드 안전성(2부): 동기화에 대한 철저한 이해(편향된 잠금부터 중량급 잠금까지)
- 헤비웨이트 락, 스핀 락, 라이트웨이트 락, 바이어스 락, 비관적 락, 낙관적 락 등 다양한 락을 한 문장으로 배워보세요.
- 동시성의 핵심: CAS란 무엇인가? Java8은 CAS를 어떻게 최적화합니까?
- Java 동시성 패키지에서 가장 중요한 동기화 클래스를 감히 배울 수 없습니까?
- 코딩 스타일을 표준화하세요.
힘내
- 최근 Git을 처음부터 배우고 Git 명령 가이드를 요약했습니다.
내가 읽은 고품질 도서 추천
- 대학 4년 동안 읽은 수준 높은 책 추천
- 알고리즘과 컴퓨터 기초에 대해 읽을 가치가 있는 책은 무엇입니까?
후속 조치
이 전자책이 여러분에게 도움이 되었으면 좋겠습니다. 모두가 잘 반응해 주시면 추후 계속 내용을 추가하겠습니다. 현재는 초판이므로 오타나 특정 지식 포인트를 잘못 기재하는 등 부족한 점이 많을 수 있습니다. 질문이 있으시면 제 공식 계정을 통해 저를 찾으실 수 있습니다. 제 공식 계정에 메시지를 남기시거나 제 개인 위챗을 직접 추가하실 수도 있습니다.
고마워하다
전자책 정리가 쉽지 않네요. 도움이 되셨다고 하시고, 작가님께 보상을 드리고 싶다면 금액은 중요하지 않지만, 본인의 의지가 가장 중요하다는 점입니다. 이 보상 상태를 사용할 수 있습니다. 모두가 이 전자책에 댓글을 달았으면 좋겠습니다.
참고: 결제 시 닉네임을 기재할 수 있습니다. CSDN, WeChat, GitHub 등이 될 수 있습니다.