📌SIGNAL ID: #B320
COIN:#SEI/USDT (3-5x)
Direction: LONG
➖➖➖➖➖➖➖
ENTRY: 0.0669 - 0.0671
TARGETS: 0.0678 - 0.0686 - 0.0698 - 0.0714 - 0.0741
STOP LOSS: 0.0647
SEI/USDT confirms a bullish breakout on the 4H with volume surge and EMA ribbon aligned upward. MACD bullish cross with increasing momentum supports the entry at 0.0669-0.0671. Key level to hold is 0.0647 to keep the long structure intact.
➖➖➖➖➖➖➖
— Bitcoin Bullets® Trading
🔥 Join VIP for real-time signals → @JOETHECEO
📌SIGNAL ID: #B244
COIN:#ETH/USDT (3-5x)
Direction: LONG
➖➖➖➖➖➖➖
ENTRY: 2359 - 2366
TARGETS: 2386 - 2408 - 2440 - 2485 - 2558
STOP LOSS: 2280
ETH/USDT confirms a bullish breakout on the 4H with EMA ribbon aligned and MACD momentum increasing, supporting the daily uptrend. Entry zone between 2359-2366 offers a low-risk long setup with volume confirming strength. Key level to watch: stop loss at 2280 to protect against invalidation.
➖➖➖➖➖➖➖
— Bitcoin Bullets® Trading
🔥 Join VIP for real-time signals → @JOETHECEO
📌SIGNAL ID: #B227
COIN:#ETH/USDT (3-5x)
Direction: LONG
➖➖➖➖➖➖➖
ENTRY: 2239 - 2245
TARGETS: 2262 - 2282 - 2311 - 2351 - 2416
STOP LOSS: 2164
Bullish daily and 4H structure confirmed with EMA ribbon alignment and a strong MACD bullish cross signaling momentum pickup. Volume surge validates the breakout, supporting a long entry between 2239-2245. Key level to hold is 2164; targets set at 2262 and 2416.
➖➖➖➖➖➖➖
— Bitcoin Bullets® Trading
🔥 Join VIP for real-time signals → @JOETHECEO
【🚀交易市場|美伊停火樂觀推動,美股全面反彈,比特幣升至3週高點 】
#Iran#BTC
📍請見報導:
https://abmedia.io/market-update-as-of-9th-apr-2026
🥇 [合作]:LBank 與現象級動畫 IP Nobody Sausage 達成品牌戰略合作,推出 500 USDT 社媒活動
🤔Почему Google и Facebook спрашивают алгоритмы?
Являются ли собеседования по алгоритмам эффективными для выявления сильных кандидатов? Одни говорят, что достаточно вопросов по опыту и основам CS (Computer Science), другие утверждают, что нет ничего лучше чем собеседования по алгоритмам.
Правильного ответа тут нет, каждый выбирает по своим потребностям!
Почему же крупные IT компании предпочитают включать алгоритмы в процесс собеседования:
💻Кодинг
Компания хочет знать, насколько качественный код (clean code) пишет кандидат и какие полезные техники он применяет, т.к. такой код легче тестировать, поддерживать и расширять.
Программирование в реальном времени дает лучшую картину ситуации, нежели уже написанный код на GitHub.
🤓Решение проблем (Problem Solving)
Написание кода в реальном времени помогает понять, насколько кандидат быстро, точно и эффективно решает возникшую проблему (баг или новая фича)
🤷♂️Работа с неизвестным
Во время собеседования кандидат видит задачу в первый раз и задачи, намеренно, бывают расплывчатыми и неясными (как это часто бывает в работе).
Поэтому тут смотрят на умение задавать правильные и проясняющие вопросы.
🙊Коммуникации
Кандидат должен задавать вопросы и эффективно коммуницировать с интервьюером. Важно, озвучивать свои мысли (thinking out-loud), чтобы интервьюер понимал ход мыслей и логику действий. Хорошие коммуникативные навыки - один из важнейших навыков сильного программиста.
⏱Работа в ограниченной и стрессовой ситуации
Во время собеседования кандидат решает задачу с ограниченным временем, без возможности загуглить решение, перед чужим человеком, который смотрит на него через камеру. Это достаточно стрессовая ситуация, поэтому нужно максимально сохранять ясность мыслей и нельзя теряться (сильно помогают мок интервью).
📚Знание алгортимов и основ CS
Для написания решения необходимо знать алгоритмы и структуры данных. Для ответа на доп вопросы и оптимизацию кода нужны будут знания CS. В процессе работы в том же Facebook кандидат не будет использовать алгоритмы каждый день, но это поможет ему понять внутреннюю кухню.
Можно бесконечно спорить нужны ли алгоритмы на собеседованиях, но это не имеет особого значения, пока Facebook и Google используют их при отборе 😂. Таковы правила игры: если хочешь работать в FAANG, люби и алгоритмы!
#interviewtip#algo
Структура собеседования по Алгоритмам. Этап 2-3. Задача.
После знакомства тебе дадут задачу.
• Внимательно слушай интервьюера. Внимательно читай текст задачи.
• Если ты видел эту задачу до этого, можешь об этом уведомить интервьюера. Он все равно узнает. Честность это плюс. К примеру, “I have seen this problem before, not exactly this one, but similar one.”
• Ожидается что ты будешь проговаривать вслух все свои размышления. (Thinking out loud - это пипец как важно!!!)
• Пиши все свои мысли и идеи в редактор кода, чтобы интервьюер понимал что ты имеешь ввиду.
• Не прыгай сразу решать задачу.
• Спроси уточняющие вопросы, определи объем работы, подумай об edge cases (к примеру, что если данные какого нибудь другого вида или отсутствуют или их очень много). Узнай надо ли учитывать случаи X и Y или это нам не интересно. Общайся с интервьюером, он твой друг.
• Проговори вслух все что понял от начала и до конца. Согласуй с интервьюером.
• Разбери каждый данный пример по задаче. Придумай свои примеры, разбери их с интервьюером. На это должно уйти 5-7 минут. (осталось 35 мин)
• Когда тебе кажется что все понял можешь начать решать задачу. Подробнее тут https://t.me/hiremegoogle/65
• Попытайся найти не оптимальное решение (brute-force solution). Обсуди свое решение с интервьюером на живом примере, пока на словах (Conceptual overview)
• Скорее всего он попросит оптимизировать твое решение. Попытайся придумать оптимальное решение. Подробнее тут https://t.me/hiremegoogle/74
• Обсуди свое решение с интервьюером на живом примере, пока на словах
• Если ему все нравиться можешь начать кодить.
• На каждом этапе спрашивай “Does it sounds good to you?”, “Is this what we are looking for?”, чтобы быть уверенным что вы на одной волне.
• После того как ты написал код, прогони свои тест кейсы над кодом и попытайся найти баги.
• Попытайся максимально быстро найти и исправить баги.
• Опиши TIme and Space complexity.
• Если ты сильно тупишь и не знаешь как двигаться дальше, не стесняйся спрашивать помощи у интервьюера. К примеру, “I am not sure which data structure could be best fit in this case. Is LinkedList good option here?”. Но конечно не злобоупотребляй этим, делай это редко, но метко.
• Получить 1-2 подсказки за время интервью это нормально.
• Интервьюере может спросить дополнительные вопросы. Это зависит на какую должность ты подаёшься. Чем выше должность тем больше и сложнее будут вопросы. К примеру, “How you will change your algorithm if it was running on multiple machines?“.
• На решение должно уйти 10-15 минут и того 15-20 минут на все. Таких задач будет 2 во время интервью, в конец у тебя останется около 5 минут времени на вопросы к интервьюеру.
• На этом все.
• Лекцния о том как решать задачу https://www.youtube.com/watch?v=wCl9kvQGHPI
• Лекция с примером решения задачи https://www.youtube.com/watch?v=4UWDyJq8jZg
• Пример того как проходит настоящее интервью https://www.youtube.com/watch?v=XKu_SEDAykw
• Еще один пример того как проходит интервью https://www.youtube.com/watch?v=EuPSibuIKIg
Пишите в комментарии если я что то забыл или есть вопросы.
#interviewtip#algo
Структура собеседования по Алгоритмам.
Решил рассказать и разобрать структуру собеседования по алгоритмам, чтобы ты понимал как это примерно проходит. Я буду разбирать телефонное собеседование.
Что такое телефонное собеседование?
После того как тебе дал реферал твой знакомый или тебе повезло и твое резюме заметил рекрутер, твой профиль будет проходить предварительный скрининг. Будут смотреть подходишь ли ты по опыту и навыкам.
Если все круто, то тебя позовут на собеседование с рекрутером, цель посмотреть насколько ты адекватный и какой твой уровень английского. Если рекрутер тобой доволен тебе назначат телефонное собеседование.
• Это 45 минутное собеседование по алгоритмам.
• Спрашивают 1-2 задачи. Один на разогрев, второй посложнее.
• Задачи могут быть любой сложности. На разогрев Easy/Medium, на второе Medium/Hard.
• Задачу обычно решают в браузерном редакторе кода или в Google Docs. Любой язык программирования.
• Созваниваются обычно по видео чату типа Skype, Hangouts, BlueJeans.
Что нужно иметь при себе?
• 45 минут свободного времени.
• Хороший интернет.
• Комп с вэб камерой и с зарядкой.
• Хорошие наушники с микрофоном. Нужно будет проверить звук заранее.
• Ручка и бумага.
• Тихое и приватное помещение.
Из чего состоит интервью?
• Этап 1. Знакомство. (5 мин)
• Этап 2. Задача по алгоритмам на разогрев. (10-15 мин)
• Этап 3. Основная задача по алгоритмам. (15-20 мин)
• Этап 4. Вопросы интервьюеру. (5 мин)
Что от тебя требуется?
• Быть коммуникативным и приветливым.
• Думать вслух при решении задачи.
• Быть проактивным в решении задачи и общаться с интервьюером.
• Придумать и написать оптимальное решение по задачам за максимум 15-20 мин.
• Придумать возможные тест кейсы и edge кейсы и протестировать свой код на них.
• Исправить баги.
• Уметь объяснить и обосновать свое решение интервьюеру.
• Написать читабельный и понятный код.
• Посчитать Time and Space complexity.
• Допускаются и даже приветствуются уточняющие вопросы.
• Допускается незначительная подсказка от интервьюера.
В будущих постах я подробнее разберу каждый из этапов.
#interviewtip#algo
7 техник которые помогут тебе быстрее решать задачи
Судя по итогам опроса большая часть аудитории канала испытывает проблемы с решением алгоритмических задач. Если ты активно решаешь задачи по алгоритмам в течении полу года и у тебя некоторые задачи отнимают от часа или больше времени, это нормально. Но это средний результат, и есть куда расти. Чтобы пройти собеседование тебе нужно научиться решать задачи за 15-20 минут. Это займет время, но это возможно и достижимо. Сегодня я хотел бы поделиться 7 техниками которые помогут тебе быстрее решать задачи.
Техника 1. Решай много.
Большинство задач решаются одними и теми же алгоритмами или их комбинациями. Порешав много задач ты сможешь изучить множество разных алгоритмов и встречая новую задачу ты сможешь уже без особого труда решить ее, так как ты видел уже похожую задачу ранее. Также большое количество задач это хорошее упражнение для мозга, который через некоторое время научиться уже автоматический кидать тебе готовые решения.
Техника 2. Найди неоптимальное решение (brute force solution ).
Попытайся найти хоть какое либо решение. Оно может быть не самым умным, не самым оптимальным, это нормально. Ты сможешь оптимизировать его позже. Неоптимальное решение это лучше чем отсутсвие решения.
Техника 3. Думай на бумаге.
Про это я писал тут https://t.me/hiremegoogle/65
Техника 4. Внимательно перечитай задачу.
Часто в самой задаче дается подсказка на ее решение. К примеру дают “отсортированный массив” или “только цифры больше нуля” и т.д. Эти подробности мы часто упускаем когда думаем о решении, хотя такие детали могут помочь найти быстрое и простое решение. К примеру, если вам нужно найти цифру в “отсортированном массиве” или “массив с одним пиком” или “отсортированный массив который был сдвинут вправо или влево”, то самый оптимальный способ это использовать бинарный поиск. Поэтому внимательно читайте текст задачи.
Техника 5. Используй HashMap.
HashMap это очень крутая структура данных которая встречается в большом количестве задач. Когда будешь решать задачу, подумай, можно ли решить ее с помощью HashMap.
Техника 6. Используй структуры данных.
Так как у каждой структуры данных есть свои преимущества и недостатки, подумай какая структура данных может помочь тебе в решении данной задачи и от этого отталкивайся. К примеру, известная задача LRU Cache, где надо быстро (за O(1) время) добавлять и удалять пару key, value, но при этом нужно помнить порядок добавления ключей. Для хранения пары key, value можно использовать HashMap, это очевидно. Но как помнить порядок ключей? Добавлять ключи в массив? Сколько стоит удалить элемент из массива? O(1) если элемент из конца массива и O(N) все остальные позиции в массиве. O(N) это не далеко не O(1). Кто еще умеет хранить порядок, но также умеет удалять данные за O(1) время? Ответ LinkedList, так как для удаление достаточно переставить ссылки. Значит можно использовать связку HashMap+LinkedList и т.д.
Техника 7. Посмотри решение
Ну если совсем не прет, то не чурайся смотреть готовое решение. Это нормально. Все мы это делаем. Как понять когда пора? Если ты не можешь решить задачу в течении 1-2 дней, то смело смотри решение, не трать свое время, не надо никому ничего доказывать. Главные правила тут это:
• Попытайся решить сам по началу.
• Не пытайся просто слизать решение, почитай комментарии и попытайся понять логику за этим решением.
• Почитай про алгоритмы и структуры данных которые были использованы.
• Попробуй написать решение сам, своими руками, без copy/paste.
• Попробуй решать похожие задачи.
• Через некоторые время, попробуй повторно решить эту задачу, чтобы закрепить материал.
Надеюсь эти техники помогут тебе решать задачи быстрее. Если у тебя есть еще техники делись в комментариях.
#interviewtip#algo
Нужно знать алгоритмы
Самый базовый навык который требуется на собеседование в 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
Ниже пример того как процесс собеседования выглядит в реальной жизни:
#interviewtip#algo
Был интересный вопрос про то как улучшить аккуратность и скорость кодинга. Думаю вопрос очень важный, отвечаю.
Думай на бумаге (или на доске)
На настоящем собеседовании тебе придется решать задачу на доске или в редакторе кода. У тебя не будет возможности компилировать, запускать и дебажить код как ты привык делать в реальной жизни. Поэтому очень важно уметь писать код на бумаге и компилировать его у себя в голове.
Как это работает? Перед тем как сесть решать задачу, берешь ручку с бумагой (или доску с маркером), и пишешь свое решение сначала на бумаге.
Шаг 1. Conceptual overview - прежде всего опиши свой алгоритм по шагам, просто словами, как список. Возьми какой нибудь пример и запусти свой алгоритм на этом примере. Записывай как твои данные будут меняться, по мере продвижения по списку. Формат не имеет значения, пиши как тебе удобно. Это поможет проверить жизнеспособность твоего алгоритма, поможет найти edge case-ы, исправить баги на раннем этапе. Также это хороше упражнение для мозга, который привык к тому что все в разработке уже автоматизировано.
Например, проверка строки на полиндромность:
• If string is empty or contains only one symbol return True
• Create two pointers, on left end and right end
• Create loop from 0 to N/2, check left and right symbols
• If pointers are equal, shift them to the center
• If pointers are different, return False
• Return True in the end
Loop from i: 0 -> 3
i = 0
“ten1et”
^ ^
L R => “t” == “t”
——
i = 1
“ten1et”
^ ^
L R => “e” == “e”
——
i = 2
“ten1et”
^^
LR => “n” != “1” => return False
Шаг 2. Написание кода - теперь после того как ты обкатал свой алгоритм на нескольких разных примерах можно приступать к написанию кода, опять на бумаге. Не псевдокод, а настоящий рабочий код, со всеми точками и запятыми. После того как ты закончил, опять прогони примеры через свой код, опять запиши как меняются данные. Попытайся сломать свой код и найти edge case-ы. Попробуй пустую строку, попробуй строку с четной и нечетной длиной, попробуй строку с цифрами и с символами и т.д.
Пример кода на Python:
def isPalindrome(string):
for i in range(len(string)//2):
if string[i] != string[len(str)-i-1]:
return False
return True
Шаг 3. Запуск - когда ты уже на 100% уверен что твой код работает, можешь переписать его в редактор и попробовать его запустить. Компилятор выкинул ошибку синтакса? Это нормально, будь готов к тому что код не запуститься с первого раза и его надо будет отредактировать, это нормально. После того как код запустился проверь свои примеры на рабочем коде, сравни со своими записками. Если все не сходится в начале это нормально, нужно нарабатывать навыки решения задач на бумаге постепенно.
На фото мой блокнот.
#interviewtip#algo
Какой я бы дал совет по подготовке по алгоритмам?
По алгоритмам все крайне просто, но долго и муторно:
• Учи обязательно базу, теорию.
• Составь себе программу и двигайся по ней.
• Найди себе ментора, который будет тебе объяснять что ты делаешь не так.
• По всему что выше я использовал AlgoExpert. Очень крутой ресурс. Мне никто не платил.
• Решай по 1-2 задачи в день и уделяй этому 2 часа день как минимум.
• Решай по пропорции 50% - Medium, 40% - Easy, 10% - Hard.
• Для набивания рук, я использовал Leetcode.
Делай упор на постоянство, не старайся решать сразу много. Решай по чуть чуть, но каждый день. Представь что твой мозг это мышца, а ты это спортсмен который готовиться к Олимпиаде. Спортсмен не лежит весь год свесив ноги, а потом тренируется как угорелый перед Олимпиадой. Нет, он тренируется в течении года, по графику. Ты должен готовиться в течении года, а потом просто ближе к собеседованию увеличивать нагрузку. В начале будет сложно, запустить процесс, растрясти жир, размять мышцы. Через пару тройку месяцев станет легче, а через годик будет вообще как у ребенка мороженое отобрать. Постоянство это сила. В будущих лекциях еще расскажу что делать с провалами.
#interviewtip#algo