LINUX.ORG.RU
решено ФорумTalks

Первая работа

 ,


0

3

Приветствую форумчане!

Я думаю начать искать работу стажёром или джуном. Начал решать задачи на leetcode, нарешал чуть больше 100 задач, охватывающих большинство классических алгоритмов и структур данных. Это 77 лёгких, 33 средних и 4 сложных задач.

Хочу узнать: можно ли с такой статистикой устраиваться начинающим специалистом в хорошую компанию? И вообще сколько нужно решить задач, чтобы попасть в big tech?

Сколько задач вы решали для поиска первой работы.



Последнее исправление: iskander9908 (всего исправлений: 2)
Ответ на: комментарий от vbr

реализовать аналог malloc/free, а также написать на WinAPI программу, визуализирующую кучу, чтобы наглядно было видно, как она используется.

Интересно! А можно поподробнее про malloc свой?

Хочется скрин глянуть даже. А куча какая? Как структура данных или в памяти что-то?

Gyros
()
Ответ на: комментарий от Gyros

Я ничего не сохранял, очень давно это было. Насколько я помню - я просто делал связный список из свободных блоков, размер текущего свободного блока и указатель на следующий блок хранился в первых байтах свободного блока. Для выделения памяти я шёл по списку и искал первый свободный блок подходящего размера. Размер выделенного блока записывался в первых байтах выделенного блока, пользователю возвращался указатель за этими байтами. А найденный свободный блок либо уменьшался, либо удалялся. Для освобождения памяти я либо превращал выделенный блок в освобождённый, если он окружён выделенными блоками, либо сливал его со следующим/предыдущим освобождённым блоком. По сути ничего сложного, просто аккуратно всё надо было запрограммировать и не запутаться в указателях.

GUI - была горизонтальная полоска, каждая вертикальная черта которой соответствовала каким-то байтам, и окрашивалась в красный/зеленый цвет, в зависимости от того, были ли эти байты занятыми или свободными. И несколько кнопок и текстовых полей, для того, чтобы вызывать malloc/free соответственно и наблюдать, как это отражается на визуальной индикации. GUI делал на WinAPI с C.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 4)
Ответ на: комментарий от urxvt

Едрить я дебил, уже на второй простейшей (по рейтингу сложности) задаче я сдулся.
Задача про коня на доске. Ну и ладна 🙂

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Едрить я дебил, уже на второй простейшей (по рейтингу сложности) задаче я сдулся.

Не парьтесь, это возможно и норм явление в условиях когда задачки уровня «задрочили», а не уровня «что знаешь и умеешь», тесты очень часто ориентированы на «задрочили».

anc ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Это больше про навык, есть конечно нестандартные задачки уровня Гены Корткеевича, но на leetcode, в основном, - просто навыки.

Если будете решать по 3 задачи в неделю - то через время заметно повысите свой рейтинг.

iskander9908
() автор топика
Последнее исправление: iskander9908 (всего исправлений: 1)
Ответ на: комментарий от anc

А я и не парюсь но иногда подбешивает, я знаю что я тупая пробка из поливинилацетата 😊
Потом решу. Иногда полезно даже просто подумать, даже если это безрезультатно.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Я по лимиту времени не вписался сначала (естественно, перед тем долго ища опечатку :)). Прикрутил мемоизацию и оно прошло.

Оказалось, Литкод намного удобней. Там можно и свои тесты добавлять, и запускать один тест, и видеть насколько быстрое твое решение в сравнении с другими. Ничего из этого тут пока нет. Жаль.

urxvt ★★★★★
()
Ответ на: комментарий от anc

На самом деле, эта задача хороший пример того, что в Литкоде есть очень полезная база, которую можно применять вне литкода. Вот эта задача на простое динамическое программирование (как там внизу указано). Это можно сравнить с шаблоном проектирования. Да, все 100500 миллионов возможных их знать не нужно (да и невозможно простому смертному), но немного популярных очень даже желательно.

А так то все «навык», все «задрочили». Месси тоже просто «задрочил» свои удары. А Линус задрочил программирование, так как задрачивал ассемблер еще с младшей школы.

urxvt ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Иногда полезно даже просто подумать, даже если это безрезультатно.

Вот с таким тезисом согласен полностью! Мне такое тоже очень нравиться. Вот бывает порешаешь задачки по матану/физике уровня конец школы - первые курсы института для сына друга и прям приятно вспомнить далекую молодость. :)
ЗЫ А вот ЧСХ информатику в разрезе программирования которой меня заваливают эпизодически не люблю. Очень не люблю. Причем от уровня чуть больше чем начальной школы, до первых курсов института. Причины две:
1. Абсолютно дебильные условия задачек, распарсить это крайне трудно. У учащихся которые ближе к этому тоже с парсингом не очень, и в результате зачастую мучают преподов моими вопросами.
2. Написать код по школьному/студенческому, вот это самый лютый трэшак, просишь у них решения аналогичных задачек, гуглишь решения аналогичных задачек... главная цель написать быдлокод максимально приближенный к ожидаемому преподом.

anc ★★★★★
()
Ответ на: комментарий от urxvt

Я по лимиту времени не вписался сначала (естественно, перед тем долго ища опечатку :)). Прикрутил мемоизацию и оно прошло.

Потом напрягусь, если время будет, ща уже спать пора. Мне кажется будет норм если дерево строить, там же дохерища тупиковых листов будет, так что лишние ходы просто отсекутся быстро, а все оставшиеся листочки образуют все возможные пути в своих комбинациях до финальной точки.

Или даже может строить два деревка, снизу вверх и сверзу вниз, может ещё лучше будет, так как к моменту схода вместе половинок путей, тупиковые пути будут отсечены быстрее.

Просто я одно решение подглядел, разбираясь в интерфейсе и поглядеть что такое «разбор» поглядел. Там таблицу строили и в узлах хранили количество путей до узла, а потом всё складывали. Прикольно, но так нельзя (можно, но не интересно) буду деревком пробовать, но потом.

Там можно и свои тесты добавлять, и запускать один тест, и видеть насколько быстрое твое решение в сравнении с другими. Ничего из этого тут пока нет. Жаль.

Ну, может. Но я тут гляжу можно просто файл загрузить, а это по сути решает все проблемы, пиши в чём удобнее, запускай и проверяй, а на проверку уже готовое. Хотя возможность запуска без отправки на проверку была бы удобной, ну просто очепятки отловить и подобное. Сортировку из трёх чисел я лишь с седьмого раза заслал хехе.

В любом случае, спасибо за ссылку.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от urxvt

но немного популярных очень даже желательно.

Даже популярное и программирование у меня не складываются вместе. Популярными могут быть решения каких-то алгоритмов, но не облечение этих алгоритмов во вполне определенный код на определенном ЯП. Да, чистота кода очень важна, но тесты эту чистоту не проверят.

Месси тоже просто «задрочил» свои удары.

Плохое сравнение.

А Линус задрочил программирование, так как задрачивал ассемблер еще с младшей школы.

Вот это уже ближе к цели :) Но учитывая упоминание асма это вот ниразу не показатель, автоматизаторы из олдскул тоже на асме умели огого и эгегей, но это не значит, что они реально умели программировать.

anc ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

У каждой задачи есть теги, к какой теме она относится. Эта на динамическое программирование. Суть в том, что задача разбивается на подзадачи (две, так как конь может два варианта шага сделать). И да, получается такое себе дерево возможных шагов.

Есть всякие статьи на каждую тему/шаблон. Например эта

urxvt ★★★★★
()

Сколько задач вы решали для поиска первой работы.

Для поиска вообще не решал.

Не в задачах счастье.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от anc

Даже популярное и программирование у меня не складываются вместе. Популярными могут быть решения каких-то алгоритмов, но не облечение этих алгоритмов во вполне определенный код на определенном ЯП. Да, чистота кода очень важна, но тесты эту чистоту не проверят.

Если я тебя верно понял, то ты поднял хороший вопрос. Мне кажется, тут, действительно, есть два навыка: придумать алгоритм решения и воплотить алгоритм в код. И Литкод нормально тренирует их обеих.
Казалось бы, если знаешь как решить задачу то в чем проблема просто перевести описание алгоритма с человеческого языка на условный Питон? Но я по себе много раз замечал, что приступая к работе воплотить свои слова/мысли в код бывает не так то и просто. И это я совсем не про литкод, а про реальные задачи. Также многократно замечал при собеседовании кандидатов, кандидат словами верно рассказывает решение задачи а приступая к коду не может его родить.

Месси тоже просто «задрочил» свои удары.

Плохое сравнение.

Почему? Много спортсменов говорят, что во многом успеху они обязаны своему упорству. И тренеры так говорят.

Вот это уже ближе к цели :) Но учитывая упоминание асма это вот ниразу не показатель, автоматизаторы из олдскул тоже на асме умели огого и эгегей, но это не значит, что они реально умели программировать.

Да какая разница, асм, С или Питон? Если они писали годные, новаторские, сложные программы то это и значит, что они умели программировать. Это же по определению.

urxvt ★★★★★
()
Ответ на: комментарий от urxvt

Но я по себе много раз замечал, что приступая к работе воплотить свои слова/мысли в код бывает не так то и просто. И это я совсем не про литкод, а про реальные задачи.

Так это старое доброе «человек долго бесцельно ходит по коридору туда сюда, потом бьется головой об стену и убегает в кабинет...»

Почему? Много спортсменов говорят, что во многом успеху они обязаны своему упорству. И тренеры так говорят.

Плохое сравнение в контексте обсуждаемого.

Да какая разница, асм, С или Питон?

Для программистов да, без разницы. Но я лишь зацепился за асм в разрезе автоматизаторов :)

anc ★★★★★
()
Ответ на: комментарий от iskander9908

goolge и прочие гиперпомойки тебе никак не помогут в развитии.

потому что они заставят тебя делать то, что никому другим не нужно, тебя сделают специалистом по правой ноздре. все то, про все остальные уже забыли как страшный сон десяток и более лет назад. тебе это надо?

и ты вкатишься в карьеру с абсолютно ненужными и невозстребованными навыками и опытом на рынке труда. куда ты потом с таким пойдешь?

поэтому тебе надо именно на галеру, которая готовит «универсалов» и успешно продает их услуги все желающим. как только прокачаешься на галере и перерастешь ее, то дальше уже сам смотри.

n_play
()
Ответ на: комментарий от urxvt

Если действительно шаришь в математику то тем более, не опускайся до уровня веб-макак и не слушай вредных советов про ненужность литкодов.

еще раз!

литкодом и аналогами, если ТС хочет и его эта тема прёт и в кайф, то пусть занимается сколько хочет, в качестве хобби или копиума. но на одном лишь литкоде он никогда не выехает.

потому что остальные аспекты работы, которые я описал до этого в треде, от которых никогда и нигде не денешься, его обязательно настигнут в абсолютно любом месте. литкод тут ему никак не поможет, а может быть даже во вред будет.

потому что в литкоде квадратно-гнездовые задачи, вообще без долгосрочных последствий.

очень печально, если человеки не могут найти применения своим навыкам лучше чем литкод. неужели их умения вообще больше никуда совсем ни годятся?

n_play
()
Ответ на: комментарий от urxvt

разработка МЛ - абсолютно закрыта для ноунеймов с улицы. потому что железо оч дорогое.

чтобы кому-то дали доступ до лабы на поиграться, где хотя бы десяток-другой реальных промышленных gpu крутится - тебе нужно будет получить несколько разрешений от всяких вышестоящих начальников.

естественно за вчерашнего студня никто не впишется. потому что любые простои лабы - записываются в миллионные убытки.

n_play
()
Ответ на: комментарий от urxvt

Не нужно было далать UFS с soft updates так как, все равно, ее заменит ZFS?

в свое время наелся говна еще аж с ext3 (ext4 тогда только в пфедоре был разве что и полуэкспериментальный). потому очень многие баги и проблемы, если находились в баг-трекерах и рассылках, то там была отписка от самого Тео (или кто там ей заведовал, память плохая) - суть в том, что «ой, господа извините, я ничего в этом говнокоде не понимаю, что в той ветве/ответвлении происходит, просто не используйте эту фичу! абсолютно ничем не могу помочь.»

все это начинает вскрываться как только начнешь ставить все эти замечательные ФС на оборудование серьезным заказчикам! проблем вагон и тележка. особенно если заказчиков счет идет уже на многие сотни и выше и у каждого свой винегрет железа и технологий и запросов.

Из этого следует, что не нужно делать хорошо, так как, все равно, переписывать?

сделай

define «хорошо»

для начала, а то спор беспочвенный лишь из-за терминологии будет.

n_play
()
Ответ на: комментарий от urxvt

Деды матан крутили за обедом и grep за один вечер писали ради прикола.

также и юникс по легенде один полудед в одну каску сделал ровно за 30 дней, пока жена с детьми была отправлена куда подальше к родственникам, а он был в 30-дневном отпуске и смог сконценрироваться на своей работе. (он же сам об этом в интерьвью сказал)

вот только многие забывают, что он до этого пару-тройку лет активно ресерчил и исследовал эту тему, имел какие-то наработки, наброски и все прочее.

кто-то снова очень долго чинил звездолет, чтобы потом за 3 наносекунды долететь до конечной точки.

учите истории, господа пятизвездочники!

Чисто эмпирическое наблюдение. Общаюсь с людьми, в том числе на эту тему.

c реальным вождением, есть пару нюансов. то что некоторые правила не работают ИРЛ, поэтому участники ведут себя иначе, чтобы не доставлять проблем другим, а не потому что не знают правил.

это знает и применяет любой, кто ПДД не просто читал. если не распарсил, это наезд в твою сторону, что ты как-то быстро слился в споре с очень жиденькой аргументацией.

n_play
()
Последнее исправление: n_play (всего исправлений: 1)
Ответ на: комментарий от n_play

но на одном лишь литкоде он никогда не выехает.

Не понятно, почему на одном.

потому что остальные аспекты работы, которые я описал до этого в треде, от которых никогда и нигде не денешься, его обязательно настигнут в абсолютно любом месте.

Какие это? Пересмотрел тему по диагонали и не понял, что такое важное нужно обязательно освоить.

литкод тут ему никак не поможет, а может быть даже во вред будет.

И как же это может быть вредно? :)

очень печально, если человеки не могут найти применения своим навыкам лучше чем литкод. неужели их умения вообще больше никуда совсем ни годятся?

Мне это похоже на «сам придумал — сам поверил». По твоей логике, Гену Короткевича должны были во все всё черные списки найма внести. Во всём мире.

urxvt ★★★★★
()
Ответ на: комментарий от n_play

учите истории, господа пятизвездочники!

Не понял твой посыл. Да у Томпсона и было фундаментальное образование и опыт в области исследования ОС.

он до этого пару-тройку лет активно ресерчил и исследовал эту тему, имел какие-то наработки, наброски и все прочее.

Не это ли доказывает важность

c реальным вождением, есть пару нюансов. то что некоторые правила не работают ИРЛ, поэтому участники ведут себя иначе, чтобы не доставлять проблем другим, а не потому что не знают правил.

Например? Специально паркуются где хотят, ездят на красный, не замечают знак запрещенной остановки?

это знает и применяет любой, кто ПДД не просто читал. если не распарсил, это наезд в твою сторону, что ты как-то быстро слился в споре с очень жиденькой аргументацией.

Что значит слился? Как ты предлагаешь, мне тебе доказать, что большинство водителей ПДР не знают? Принести тебе нотариально заверенный результат их экзаменов?
Хотя, с другой стороны, я просто вбил запрос в Гугл и он пестрит вот такими заголовками.
«В 2025 году в Кыргызстане пресс-секретарь ГУОБДД сообщил, что около 70% водителей не знают ПДД»

urxvt ★★★★★
()
Ответ на: комментарий от urxvt

Да нафига, достаточно просто в Питер к нам приехать и посмотреть на дорогу из-за руля. Когда перестанешь материться, сам всё поймёшь. @Dimez не даст соврать.

Zhbert ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)