🔏
Tech
  • 🟢App aspects
    • Software architecture
      • Caching
      • Anti-patterns
      • System X-ability
      • Coupling
      • Event driven architecture
        • Command Query Responsibility Segregation (CQRS)
        • Change Data Capture (CDC)
      • Distributed transactions
      • App dev notes
        • Architecture MVP
      • TEMP. Check list
      • Hexagonal arch
      • Communication
        • REST vs messaging
        • gRPC
        • WebSocket
      • Load balancers
      • Storage limits
      • Event storming
    • Authentication
    • Deployment strategy
  • Databases
    • Classification
    • DB migration tools
    • PostreSQL
    • Decision guidance
    • Index
      • Hash indexes
      • SSTable, LSM-Trees
      • B-Tree
      • Engines, internals
    • Performance
  • System design
    • Interview preparation
      • Plan
        • Instagram
        • Tinder
        • Digital wallet
        • Dropbox
        • Live video streaming
        • Uber
        • Whatsup
        • Tiktok
        • Twitter
        • Proximity service
    • Algorithms
    • Acronyms
  • 🟢Programming languages
    • Java
      • Features
        • Field hiding
        • HashCode() and Equals()
        • Reference types
        • Pass by value
        • Atomic variables
      • Types
      • IO / NIO
        • Java NIO
          • Buffer
          • Channel
        • Java IO: Streams
          • Input streams
            • BufferedInputStream
            • DataInputStream
            • ObjectInputStream
            • FilterInputStream
            • ByteArrayInputStream
        • Java IO: Pipes
        • Java IO: Byte & Char Arrays
        • Java IO: Input Parsing
          • PushbackReader
          • StreamTokenizer
          • LineNumberReader
          • PushbackInputStream
        • System.in, System.out, System.error
        • Java IO: Files
          • FileReader
          • FileWriter
          • FileOutputStream
          • FileInputStream
      • Multithreading
        • Thread liveness
        • False sharing
        • Actor model
        • Singleton
        • Future, CompletableFuture
        • Semaphore
      • Coursera: parallel programming
      • Coursera: concurrent programming
      • Serialization
      • JVM internals
      • Features track
        • Java 8
      • Distributed programming
      • Network
      • Patterns
        • Command
      • Garbage Collectors
        • GC Types
        • How GC works
        • Tools for GC
    • Kotlin
      • Scope functions
      • Inline value classes
      • Coroutines
      • Effective Kotlin
    • Javascript
      • Javascript vs Java
      • TypeScript
    • SQL
      • select for update
    • Python
  • OS components
    • Network
      • TCP/IP model
        • IP address in action
      • OSI model
  • 🟢Specifications
    • JAX-RS
    • REST
      • Multi part
  • 🟢Protocols
    • HTTP
    • OAuth 2.0
    • LDAP
    • SAML
  • 🟢Testing
    • Selenium anatomy
    • Testcafe
  • 🟢Tools
    • JDBC
      • Connection pool
    • Gradle
    • vim
    • git
    • IntelliJ Idea
    • Elastic search
    • Docker
    • Terraform
    • CDK
    • Argo CD
      • app-of-app setup
    • OpenTelemetry
    • Prometheus
    • Kafka
      • Consumer lag
  • 🟢CI
    • CircleCi
  • 🟢Platforms
    • AWS
      • VPC
      • EC2
      • RDS
      • S3
      • IAM
      • CloudWatch
      • CloudTrail
      • ELB
      • SNS
      • Route 53
      • CloudFront
      • Athena
      • EKS
    • Kubernetes
      • Networking
      • RBAC
      • Architecture
      • Pod
        • Resources
      • How to try
      • Kubectl
      • Service
      • Tooling
        • ArgoCD
        • Helm
        • Istio
    • GraalVM
    • Node.js
    • Camunda
      • Service tasks
      • Transactions
      • Performance
      • How it executes
  • 🟢Frameworks
    • Hibernate
      • JPA vs Spring Data
    • Micronaut
    • Spring
      • Security
      • JDBC, JPA, Hibernate
      • Transactions
      • Servlet containers, clients
  • 🟢Awesome
    • Нейробиология
    • Backend
      • System design
    • DevOps
    • Data
    • AI
    • Frontend
    • Mobile
    • Testing
    • Mac
    • Books & courses
      • Path: Java Concurrency
    • Algorithms
      • Competitive programming
    • Processes
    • Finance
    • Electronics
  • 🟢Electronics
    • Arduino
    • IoT
  • Artificial intelligence
    • Artificial Intelligence (AI)
  • 🚀Performance
    • BE
  • 📘Computer science
    • Data structures
      • Array
      • String
      • LinkedList
      • Tree
    • Algorithms
      • HowTo algorithms for interview
  • 🕸️Web dev (Frontend)
    • Trends
    • Web (to change)
  • 📈Data science
    • Time series
Powered by GitBook
On this page
  • Как строится алгоритмическая секция интервью
  • What
  • Как решать задачи
  • Plan for now

Was this helpful?

  1. Computer science
  2. Algorithms

HowTo algorithms for interview

PreviousAlgorithmsNextTrends

Last updated 1 year ago

Was this helpful?

Как строится алгоритмическая секция интервью

What

Несколько задач на время. Даны входные и выходные данные. Написать алгоритм

Как решать задачи

Практика

  • (priority 0) Платформа с подборками зада по темам с ссылками на Leetcode

  • (priority 1) с сортировкой по Leedcode задачам (сложность, компания)

    • Blind 75: просто ссылки на Leetcode (не указана сложность)

    • Blind 75: на Python

  • (priority 2) Как повторение 75 задач, для того чтобы перерешать

  • (priority 3) "Основы алгоритмов"

Теория

  • (priority 1) for data structures with links to try challenges

  • (priority 2) for learning algorithms and data structures

  • (priority 3) подходов к решению (есть визуализация, но местами по-китайски)

    • скорее средняя сложность задач и выше

  • (priority 3)

  • (priority 3) на русском

Plan for now

Рекомендуем повторить все, что связано с алгоритмами:

  • базовые алгоритмы — поиск элементов в коллекциях, обход деревьев, сортировки, динамическое программирование;

Даны три неубывающих массива чисел. Найти число, которое присутствует во всех трех массивах.

Input: [1,2,4,5], [3,3,4], [2,3,4,5,6]
Output: 4

Целевое решение работает за O(p + q + r), где p, q, r – длины массивов, доп. память O(1), но эту информацию интервьюер не сообщает.

public int findCommonElement(int[] arr1, int[] arr2, int[] arr3) {
        int p1 = 0, p2 = 0, p3 = 0;

        while (p1 < arr1.length && p2 < arr2.length && p3 < arr3.length) {
            if (arr1[p1] == arr2[p2] && arr2[p2] == arr3[p3]) {
                return arr1[p1];
            } else if (arr1[p1] <= arr2[p2] && arr1[p1] <= arr3[p3]) {
                p1++;
            } else if (arr2[p2] <= arr1[p1] && arr2[p2] <= arr3[p3]) {
                p2++;
            } else {
                p3++;
            }
        }
        return -1; // Если нет общего числа во всех трех массивах
    }

Использованы статьи для составления плана

go through templates

Go through

Heap, trees, graph, DP

top easy collection

Heap in details

sorting

основные структуры данных — строки, списки (LinkedList), деревья, ассоциативные массивы (HashMap, TreeMap, LinkedHashMap), векторы;

понятие сложности алгоритмов, O-нотация.

Пример задачи

📘
✅
✅
✅
✅
✅
✅
Курс от Яндекса "Подготовка к алгоритмическому собеседованию"
Big-O Complexity Chart
Neetcode
Таблица
ОТСЮДА
видео разбор всех задач
Grind75
Курс от Яндекса
Overview
Guided list
Разбор задач,
видео разбор задач
Разбор задач
ССЫЛКА
LINK
✅
https://seanprashad.com/leetcode-patterns/
https://leetcode.com/explore/featured/card/top-interview-questions-easy/
✅
https://leetcode.com/explore/learn/card/heap/643/heap/4018/
https://leetcode.com/explore/learn/card/sorting/