Якщо він пише код як говорить, то це звичайний сіньор з 5.5-6.5К зарплати. Лайвкодинг з математичними задачами в реальному житті ніколи не попадаються. Так само можна одразу скіпати будь які курси чи уроки, де вчать пайтон на основі математичних прикладів. Це замусорювання голови тим, що ніколи не буде в реальному житті в 99% (окрім фінтеху, коли наймають в команду конкретно розробника-математика для фінансових формул)
@@taras1033 Цікаво де ви тут побачили математичну задачу. Це задача на базове розуміння алгоритмів, в реальному житті якраз таких немало. Стосовно реальної математики в Python - в Data Science та ML дуже навіть потрібно.
@@inhbtnt01 Data Science та ML це все таки не розробка. Там дійсно математика йде за основу (багато різної математики), проте це інші професії, інженери яких працюють біля розробників і зайняті зовсім іншим.
@@taras1033 Якщо ви пишите на Python, рано чи пізно зіштовхнетись з вакансіями в проекти пов`язаними з AI, де навіть на позицію бекенд є вимоги по базовому розумінню ML. Тому для Python розробника математичний бекграунд - це в перспективі дуже корисний скіл, хоча, звісно, не обов`язковий. Тому скіпати курси з математичними прикладам - погана порада, як на мене.
Щодо enumerate - вона також має лінійну складність О(n). Вона просто лаконічніша і зручніша. А так хлопець перенервував. Лайвкодінг на перших співбесідах після тривалого періоду роботи над типовими кейсами завжди такий, якщо регулярно не практикуєшся з алгоритмами). Успіхів автору і розробнику!
дякую за інтерв'ю, у Влада дуже класний підхід - не валить, може підказати чи навести на думку. Добре було б трішки знайомити з кандидатом: навчається чи працює, якщо навчається, то як довго, якщо працює, то на якій позиції, чі є мідлом чи тільки претендує...
Может подсказать, а может и с мысли сбить. Ну вот хотелось человеку dif в качестве ключа использовать, пусть бы использовал. Типа: def twoSum(nums, target): hm = {} for i, val in enumerate(nums): dif = target - val if val in hm: return [hm[val], i] hm[dif] = i Так тоже будет рабоать и, возможно, соискатель именно в этом ключе и пытался оформить решение. А есть ли этот диф вообще в списке, или нет - это не ключевой вопрос в данном случае.
Терпіти не можу теорію з неприязню до неі ставлюсь, бо це раз в 2-3 роки вивчаєш коли роботу шукаєш і більше ніколи під час роботи не використовуєш. А за enumerate шкода шо не розвязав, хоча з самого початку була хороша думка в чоловіка! Треба віднімати!
Дякую за відео def twoSum(nums, target): hash_map = {} for i in range(len(nums)): sum = target - nums[i] if sum in hash_map: return [i, hash_map[sum]] hash_map[nums[i]] = i думаю це те що ви хотіли пояснити. хз
Мене колись заставляли писати SQL-код в текстовому редакторі, дали техліда :)) Лайвкодинг це абсолютний редфлег, оскільки це специфічний скіл, котрий в більшості людей нерозвинутий. Це стресова ситуація, котра не відповідає реальному робочому процесу. Мозок у багатьох клинить, хоча люди з нуля роблять величезні та складні бекенд продукти, а їм дають задачку з літкода, і вони її не можуть рішити. Що це говорить про кандидата? Лише те, що він не вміє в лайвкодинг, більше нічого.
Цікаво, що мідли і сеньйори деколи не знають елементарні питання, наприклад чим відрізняються SQL i NoSQL. Але складні питання, чи питання по архітектурі і проектування то легко)
Слабка співбесіда. Для мідла питання мега хай левел. На темі SQL vs NoSql то це треш. Владислав думає що існує тільки монго і тільки схемлесс дб? NoSQL і SQL баз дуже багато, і вони дуже різні по практикуму. Навіть взяти саме банальне SQL: columnar/row db(вони є і в NOSQL), Olap vs OLTP workload. NOsql: graph, document, wide-column, kv, time-series and etc. Хоть щось з цього буде більш цікавіше запитати і правильніше ніж питання яке було озвучене.
По теорії непогано, по лайв-кодінгу - слабенько, задачка дуже проста. Судячи з усього, мало практики з алгоритмами. Варіант рішення лайв-кодінг задачі з O(n): def get_target_n(ns, tg): for i in range(len(ns)): diff = tg - ns[i] try: diff_i = ns.index(diff) return [ns[i], diff_i] except: continue
from copy import deepcopy def to_sum(numbers: list, targer): sorted_numbers = sorted(deepcopy(numbers)) for number in sorted_numbers: for number2 in sorted_numbers[numbers.index(number) + 1:]: if number + number2 == targer: return [ numbers.index(number), numbers.index(number2, numbers.index(number) + 1), ]
Тому що літкод спеціально задрочують, в реальному житті цим ніхто не займається. Також лайвкодинг не для всіх - немає різниці скільки досвіду, хоч 10 років.
@@frez_x хах, тут така сторона питання, є людина, сіньор, багато років займається більш архітектурними питаннями, таких логічних задачок вже давно не бачив, якщо його попросити таке розв'язати він не просто не зможе це зробити відразу, а ще й н**й пошле) А тут теоритичні питання здебільшого трохи вище ніж рівень мідла. Можливо так спеціально роблять, авось людина вище рівнем, але дуже смішно коли у джунів без досвіду про солід та патерни питають.
@@plastun.dmitriy я як тімлід кажу, що він не тягне на сіньйора. А твій знайомий не факт, що сіньйор по зняннях, можливо, він сіньйор бо циферках в резюме велика в полі «досвід»
А по теорії точно не джун. Я провів не одну співбесіду для джунів, вони так і близько не відповідали. А на кодінгу багато хто плавав, але коли дійшло до роботи, то проблем не було ніяких зазвичай і код цілком нормальний, тому по одній задачці судити досить важко