TGTGInsightаналитика telegramLIVE / telegram public index
← Хочу в Google
Хочу в Google avatar

TGINSIGHT POST

Post #72

@hiremegoogle

Хочу в Google

Просмотры2,800Количество просмотров
Опубликован11 сент.11.09.2020, 05:00
Содержимое поста

Содержимое

Нужно знать алгоритмы Самый базовый навык который требуется на собеседование в FAANG это алгоритмы. Считаете ли вы что это справедливо или не справедливо спрашивать алгоритмы на собеседованиях, но это данность. Если вы хотите пойти работать программистом в FAANG, то вам нужно иметь крепкие знания в алгоритмах. С чего начать? Совет тем кто вообще не соприкасался с алгоритмами, то есть мне два года назад: • Найди какие либо курсы по Алгоритмам и Структурам Данных (Data Structures and Algorithms), пройди их. Начни хоть с чего нибудь. Читай и слушай все что найдешь. • Почитай что такое Big O Notation, Time and Space Complexity. Попробуй подсчитать за какое время запускается твой код, сколько памяти он использует. • Начни читать Cracking the Coding Interview, поделай там упражнения. • Порешай задачи на LeetCode. Начинай с уровня Easy. Решай по 1-2 задачи в день. Если в течении 2-3 дней не получается решить задачу, смотри решение в Discussions, не трать свое время. Поищи лекции в тему на YouTube. Решай похожие задачи чтобы закрепить тему. • Узнай за сколько каждый алгоритм запускается и сколько использует памяти (Time and Space Complexity). • Узнай за сколько каждая структура данных запускается и сколько использует памяти. • Узнай почему именно так, а не иначе. Пытайся понять логику за этими подсчётами. Какие алгоритмы учить? На этот вопрос вам мало кто ответит. Нет какого-то единого списка, так как задачи на собеседованиях постоянно меняются и нет четкой границы. Но есть базовые алгоритмы с которых стоит начать: • Array Prefix Sum, Range Sum, Two pointers, Is Palindrome, Sliding Window • Binary Search • Kadane’s algorithm • Longest Increasing Subsequence • Recursion, Fibonacci • BFS, DFS • Dijkstra • Topological Sort • Merge Sort, Quick Sort • Inorder, Preorder, Postorder Tree Traversals • Union Find Это далеко не полный список. Посмотрите лекции Tushar Roy на YouTube. Он очень крутой. Посмотрите курс по алгоритмам от Hackerrank на YouTube. Какие структуры данных учить? Их тоже очень много. Но можете начать с: • String • Array • Stack • Queue • LinkedList • Graph • Tree • Heap Это далеко не полный список. Что мне попадалось часто? Это не значит что тебе попадется то же самое, по этому учи больше: • String • Array Prefix Sum, Range Sum, Two pointers, Is Palindrome, Sliding Window (это вообще классика) • Stack • Heap (классика) • Graph • Tree • Binary Search • Recursion • BFS, DFS, Topological Sort (тоже классика) • Quick Sort Challenge И вот вам еще упражнение на разогрев. Есть список классических задач по алгоритмам на LeetCode, называется Blind Curated 75. https://leetcode.com/list?selectedList=x48j71o1 Выбери себе любые 3 задачи уровня Easy, Medium и попробуй решить каждую за 15-20 минут, поставь таймер. Вообщем у тебя уйдет час на это. Напишите в опроснике за сколько вы решали задачи в среднем. Подсчитай Time and Space Complexity своего алгоритма. #interviewtip#algo