Пиздец, реву, как сука. Четыре года работал программистом (жаба). Писал код, закрывал таски, создавал новое, переписывал старое. Недавно уволился и теперь ищу новую работу. Сегодня сходил на два собеседования и ещё два провели онлайн. Боже, как же я облажался НА ВСЕХ. Не ответил ни на один вопрос. И спрашивали-то какое-то примитивное дерьмо. Работа со списками, с файлами, всякая ООП херня, очереди, транзакции. Но ответить не смог. Показал себя конченым долбоёбом. Мне теперь придётся брать талмуд "жаба для дебилов" и зазубривать это всё. А может тупо бросить. Реально руки опустились. Четыре года работал, и вот я где? Нигде. В самом начале. Мне СНОВА надо с нуля выучить ебучую Жабу. Ну и нахуй тогда? Чтобы через несколько лет ОПЯТЬ с нуля? Да сколько можно?! Почему я всегда на старте? Почему мне всегда надо "начинать"? Почему нельзя пользоваться плодами своей работы? Никто не устраивает на собеседовании таксисту, проработавшему несколько лет, экзамен по дорожным знакам и устройству карбюратора его сраного Опеля. У него в трудовой стаж - вот и всё что нужно. Блин, как же всё заебало. Я конченый.
>>227819492 Читать тут бесполезно. Нужно именно, сцуко, помнить всю еботу из здоровенного талмуда. Плюс сотню задач на алгоритмы. Про сортировки, про фионначи, про фубаз, про деревья.
>>227820077 На мидла. 4 года же уже работаю. Но ощущение, что на стажёра собеседуюсь. >запрашиваешь профильные таски Дадут? Я специально спрашивал, чем конкретно заниматься буду, отвечают размыто про "новые задачи, переписывание легаси, проекты, бла-бла-бла". >нахуй это все помнить? Ну а как? Вот спрашивают "как организовать транзакцию", а я в душе не помню. Да даже не помню, как из строки вычесть подстроку. А они сидят и смотрят, как я буду на доске решать задачу "дана строка SDADASDASDADADFSDFSDASDFASDDAD, надо убрать из неё повторяющиеся подстроки длиной >n". А я не то что алгоритм родить не могу, даже не помню вообще, какие там функции со строками работают.
>>227819348 (OP) Если у тебя спрашивают разницу между BST и хипом / стэком и очередью, а ты это не можешь вспомнить без книжки, то программистом ты никогда не был. Ты был мошенником.
>>227820407 А ты помнишь? Откуда? Если за 4 года ты ни разу не сталкивался с такими задачами, то ОТКУДА ты помнишь, как они решаются? Ты выучил это давным-давно и поставил метку в памяти "ни за что не забывать, крайне важно!"?
>>227820533 тебя на джуна собеседуют. просрал ты 4 года жизни походу, раз не можешь сделать ебало кирпичом и послать их нахуй с этими глупыми тестиками для дошколят.
Не унывай, бро. Кодинг - это как спорт. Если не дрочишь каждый день - тупеешь, увы. И нахуя тебе работка на баринов? Пили свои проектики да монетизируй, если ебашить норм через полгода уже будет пассивный доход больше чем зарплатка у жадного капиталюги.
>>227819348 (OP) > Мне СНОВА надо с нуля выучить ебучую Жабу. Ну и нахуй тогда? Чтобы через несколько лет ОПЯТЬ с нуля? Ну так получается ты всегда и был НУЛЕМ
>>227820852 >А с чем ты сталкивался? Расскажи? Бизнес-логика, в основном. Причём, транзакциями там всё обмазано по самые помидоры, но как бы другим слоем, я обычно их не касался, работают и работают.
>>227821042 >Без стресса ответишь же? Не отвечу. Я просто не помню. Да, да, да, да блядь. тупой ятупой. заебали хватит. нахуй нахуй. блядь нахкй просто нахукй
>>227820533 >На мидла. 4 года же уже работаю. Но ощущение, что на стажёра собеседуюсь.
всё очень зависит от твоего тимлида и отношения к код ревью, твоего желания развиваться, и насколько глубоко ты вникаешь в таски( читаешь ли ты хотя бы quick start docу, или сразу пытаешься вытащить на опыте +стаковерфлоу)
перед собесом желательно ответить на пару типичных вопросов для собесов. да, надо вспомнить синтаксис, погуглить, чем хэш тэйбл от хэш мапа отличается. но подготовиться к собесу можно буквально за день. алгоритмы лично у меня редко спрашивают, хотя за них могу пояснить микроолимпиадник
если не знаешь ответ на вопрос -рассуждай вслух. челам интересно не знание, а твоё умение приходить к чему-то логически. когда у меня спрашивали про транзакции в спринге, я сразу говорил, что не работал с ними, и начинал рассказывать своё предположение, что это (как это работает в sql, зачем оно надо, плюсы, минусы, как это может быть реализовано в джаве и зачем). будет сложно, если ты в работе не задаёшься вопросом "как оно работает?". тебе неинтересно, что происходит(что есть главный интерфейс applicationContext, что он ищет и интерпретирует конфиги, что он загружен с помощью джавы, которая до этого скомпилирована в байткод градлом, к примеру). с другой стороны, всегда так, если дело неинтересно. тогда надо ставить цель, и вывозить строгим планом и силой воли
мимо студент-еблан, уволился, перешёл с middle на middle+/senior
>>227819348 (OP) Потому что на инженерных специальностях твой опыт почти ничего не значит, твои знания устаревают, твой мозг тупеет от однотипных задач. Если ты думал что выучил язык программирования и теперь ты король мира - я тебя очень сильно разочарую. Вайтишники и сидельцы на жопе по 5+ лет когда их наконец выгоняют - всегда в шоке от собесов и собственной тупости. Чтобы быть в форме ты постоянно должен читать и учить новое, повторять старое, ходить на собесы и собеседовать сам. И иметь работу без однотипного легаси-говна от которого плавится мозг (хотя это сомнительно на просторах экс-совка, сюда господа из стран первого мира только самое вонючее скидывают, никаких крутых новых задач и технологий ты тут не увидишь). В идеале менять место работы каждые 2-3 года.
Я работал 2 года, потом платил за курсы (САМ) и ботанил книги, потом работал еще 2 года, потом ботанил книги полгода нон-стоп. Потом работал еще 4 года, потом год ботанил книги нон-стоп. Последние 4 года хожу по собесам и собеседую людей постоянно. Это не считая того что я постоянно читаю и учу на работе. З.П (в валюте) выросла в 8 раз с момента первого трудоустройства. И я снова думаю подкупить новый книжек.
Если хочешь без собесов и за стаж - пиздуй на госконторы лизать жопу за копейки всю жизнь или в дворники-кабанчики-мерчеры-грузчики.
Ты, видимо, долбоеб какой-то. Я когда повторно устраивался просто назвал место работы прошлое, показал свои работы. А теория она для дебилов, если у меня не хватает каких-то знаний, есть гугл. Тут уже опыт дает тебе знания в каких ситуациях как поступить, появляется эдакая "интуиция программиста".
Тоже самое, чуть больше 4 лет отработал. Просто иди по собеседованиям и учи попутно вопросы, программирование это как работа на заводе только в 21-ом веке, знаний не надо, просто рефлексы.
>>227821647 Че такое интерсептор, DI, чем директива от компонента отличается? Про лайфсайкл расскажешь? С RxJS работал? Что такое холодный/горячий обсервер? Про шедулеры расскажешь что?
>>227821603 >если у меня не хватает каких-то знаний, есть гугл И вот тут тебе прилетает говна на лопате от интервьюиров "НАДО ЗНАТЬ! НАСТОЯЩИЙ ПРОГРАММИСТ ОБЯЗАН ЗНАТЬ ВСЁ САМ, БЕЗ ГУГЛА!!!!!!!11111111111"
>>227820667 пле ну фибоначи алгоритм выдумывается за 10 минут максимум. тут же важно не запомнить а соображалку развить. не можешь простые алгоритмы с ходу выдумать нахер ты нужон. еще и паттерны не знаешь поди, тебя наймешь - ты велосипедов понапишешь, заепешься разбираться после тебя.
>>227820533 >дана строка SDADASDASDADADFSDFSDASDFASDDAD, надо убрать из неё повторяющиеся подстроки длиной >n Аааааааа... заинтриговал. Как решить то? Тут же будет какая-то невероятная сложность и по памяти и CPU?
>>227821603 >если у меня не хватает каких-то знаний, есть гугл. Тут уже опыт дает тебе знания в каких ситуациях как поступить, появляется эдакая "интуиция программиста". Это понятно. Никто не просит зубрить. Вот только если Вася знает технологию X или ее аналог, имеет опыт практического применения, имеет солидные базовые знания по алгоритмам и структурам данных, а ты при этом тоже имеешь базу, но пытаешься нафантазировать технологию X - ты пролетаешь.
А по поводу теории вообще - я видел людей по 10+ лет опыта которые не могли ответить что такое файл или что такое сокет, или что такое страница памяти. Сами при этом претендавали на сеньерские позиции и чуть ли не на архитекторов. Вот как это понимать? Что мог делать человек 10 лет, сука, если он не может сказать что такое файл даже своими словами? И никакого зубрения тут не надо.
>>227822624 это просто твое мнение на деле хуй с горы, который на собесе на коленке нафантазировал неведомую ему технологию Хэ в разы привлекательнее васи зубрежника.
>>227821787 Хм. Ну рекурсивно перебираешь и агрументом пробрасываешь уровень вложенности. Думаю напишу, о не в стрессовой ситуации. Ща попытаюсь, но долго будет.
>>227821984 Если ты о ангуляре, то: Интерсептор - перехватчик, который встртаивается какой-то пайплайн и может менять менять проходящие данные. Или н еменят ьи просто логировать. Как правило юзают ХТТП интерсепторы для обработки серверных ошибок (можно на респонс 400 выводить попып с валидационными ошибками) или для инжекта токенов.
DI - внедрение зависимостей, как правило нужен для реализации IoC. В общем - управляет созданием екземпляров сервисов и т.д. В ангуляре они все синглтоны, кажись, по дефолту.
Чем директива от компонента отличается - бля, ну всем, компонента может иметь свою вьюху, по разному регистрируются. В директиве есть вельюАксессор. Директиву нельзя в роуты добавить.
С RxJS работал? Да. Интресно, но я больше видел выстрелов в ногу, чем профитов, если что-то сложное делать.
Что такое холодный/горячий обсервер? Бля. Не помню. Там кароче один при регистрации ебнет, а второй не?
>>227822757 >который на собесе на коленке нафантазировал неведомую ему технологию Хэ Да, да. Пусть потом расскажет свои фантазии на интервью с заказчиком из Европы/США (которому конкретно и четко нужна технология Х а не маняфантазии) - я посмеюсь.
>>227819348 (OP) Ты собеседуешься в фирму, которая будет тебе в месяц платить несколько средних зарплат. Будь готов покрутиться перед ними жопой, анон.
>>227819348 (OP) > Никто не устраивает на собеседовании таксисту, проработавшему несколько лет, экзамен по дорожным знакам и устройству карбюратора его сраного Опеля. А других способов проверить программиста за один день и нет на самом деле. Да, прохождение собеседований - это отдельный навык, но он коррелирует с умением программировать. У него много ложноотрицательных результатов - зато мало ложноположительных. Если ты знаешь что такое мемоизация, как строить DAG и его обходить - то скорее всего ты умеешь программировать. А напиздеть с три короба может каждый.
>>227819348 (OP) Не нужно увольняться вникуда. Сначала проходишь собесы, если тебя берут, только потом можно увольняться, иначе вот остаешсья с голой жопой на морозе.
>>227822107 Слоздаешь масив чаров. Масив результатирующий. Проходишь посимвольно, сохраняешь пред символ и считаешь повторения, если текущий символ = пред И повторений больше нужного не добавляешь символ в результатирующий массив. Джойнишь. Легкая задача, если не дрочитьт перфоманс. хотя он и в варианте выше номр будет. Н сложность, 2Н аллокация.
>>227822914 Зачем ты подменяешь понятия? Ты приводишь две разные ситуации в одной тебя застают врасплох, ко второй у тебя есть время подготовиться лол мимо
>>227822943 >как строить DAG и его обходить Вот было бы прикольно если бы на собесах спрашивали алгоритмы на графах и мат.статистику. Хотя бы. Столько биомусора фронтендеров и двухлетних фулстак-СTO-архитекторов бы отсыпалось...
>>227823091 >Зачем увольняться вникуда? ПонятЯ не имею. Я нашёл в домашней аптечке феназепам и кажется переборщил с количеством. хуй знает я не знаю ничего вообще. Спать не могу.
>>227823100 Ок, а что по-твоему надо спрашивать на собесе? Меня в Гугле попросили описать реализацию простейшей файловой системы и расскзать про методы оптимизации хранения timeseries.
Нормальные вопросы? Или тоже нахуй послал бы? Проблема в том что на такое ни один из этих 10-летних аксакалов не ответит.
Алсо за посылание ты бы просто попал в блэк-лист как моральный инвалид.
>>227823011 >ко второй у тебя есть время подготовиться Кабанчиком за неделю выучишь то что надо учить полгода?
>>227822768 >Интерсептор - перехватчик Так, мб использовал на проекте что?
>DI - внедрение зависимостей, Почти так, а можно как-то сделать так, чтобы в двух компонентах были разные инстансы сервиса? А как так происходит, что я прокидываю сервис в конструктор и ангуляр добавляет его как зависимость? Благодаря чему это получается?
>видел выстрелов в ногу Расскажи, всем интересно. Какие операторы юзали?
>Там кароче один при регистрации ебнет, а второй не? Один будет эмитать значения без подпищеков, а второй будет только когда есть подпищики, какой что, я не помню.
>>227823531 На самом деле нынче и на фронте нужно архитектуру иметь, если используются SPA, так что дизайн паттерны наконец мне пригодились. Но в принципе можно нанять джуна-фронтенд-макаку и вытащить его из говна чисто на книге про дизайн паттерны и курении документации. Думаю себе в подмастерье какого-нибудь такого найти. Мимо фронтэндаун
>>227823635 Меня и самого часто валят на собесах. Но не такой же элементарщине. Но конкретно то что я написал знают второкурсники. Это каждый мамкин кулхацкер может сказать своими словами. А настоящий сеньер еще и про метаданные и всякие деревья, типы спец-файлов и лимиты расскажет, и про VFS, и про дескрипторы. Иначе нахуй нужен такой "синьер".
>>227823989 В 2020 это база, SPA фреймворки вынуждают использовать некоторые паттерны, к ним быстро привыкаешь, DI и синглтоны везде нужны, с имплементации их легко начать вкатываться в паттерны и на их примере легче всего показывать как работают "крутые штуки". Дальше уже команды и фектори доносить в голову, а дальше уже сам разберётся.
>>227823536 Я, если честно, давненько с фронтом работал. Поэтому многое забыл.
>Так, мб использовал на проекте что? Эээ. Ну были хттп интерсепторы для кейсов, которые я пред посте описал. Я их еще пилил, когда нитивных не было через фабрику хттп клиента.
>а можно как-то сделать так, чтобы в двух компонентах были разные инстансы сервиса? Хм. Через фабрику и вручную создавать. Зарегать в сабмодуле, тогда кмопоненты с этого модуля свой инстанс получат. Может еще как-то.
>А как так происходит, что я прокидываю сервис в конструктор и ангуляр добавляет его как зависимость? Благодаря чему это получается? Хм. Не знаю. Но если подумать. Ну сервис зарегестрирован типом, создается экземпляр по требованию. ЧТоб требовать - надо проанализировать конструктор. Как он анализирует конструктор - хз. В джсе есть рефлексия? Вообще интресно. Надо погуглить .
>>227824026 Второкурсник не ушел бы дальше этого вопроса. А синьер должен ответить и на этот вопрос и на все что сложнее. А получается что "синьеры" не знают ни базу, ни технологии, ни абстрактно думать не умеют. Предлагаешь их брать за красивое резюме с перечислением кучи технологий которые у них были в dependencies на проекте и с которыми они по факту ни дня не работали? Или брать их за то что они N лет носили лычку "яхонтовый CTO" в очередном Рога и Копыта Systems ?
>>227824260 Так ты третью сделал, ебанутый. >>227824197 Красиво. >>227824285 Аргументируй? >>227824095 Если числа, то x =+ b; y =- x; y = -y; x =- b; >>227824160 >Дженерики юзал? Юзал, но редко приходилось, только когда фабрику сервисов делал. Пришлось загуглить что такое дженерики, т.к. я не знал как это называется. >А во что интерфейсы превращаются после компиляции? В жс, лол. А так вроде какой-то метод у Object вызывается, не смогу сказать какой. >Самые прикольные фишки тс? Optional chaining (хотя вроде это и через бабел можно), энумы везде юзаю, union types >Всегда ли нужно тс на проекте использовать? Если нужна статическая типизация, то уже нужно. Если есть классы, то лучше использвать. И не забыть навесить class-transformer на ответы с сервера в идеале.
>>227824989 Ну да. А потом они приходят ко мне и спрашивают хули их говно выжрало всю память за две минуты и весь прод лег к хуям на час и контора потеряла пол-лимона баксов. Ведь теперешние "синьеры" не слышали про файловые дескрипторы. >>227824859 >сеньер без проектов - не сеньер. ты поехавший штоле? Я могу какой угодно бредятины написать в резюме. Эти "проекты" никак не проверить и всем похуй на них если это только не open source который лежит в открытом доступе.
>>227819348 (OP) Бесит эта хуйня. Ты что умеешь водить такси, а объяснить на словах как ты это делоешь не можешь?!?! Что, сказать ничего не можешь?? В 25 лет уже пора ку-ку.. Эйчары припезденные сука, почувствовали капельку власти и давай в надменного профессора играться. Но бывают и нормальные, душевные, может оно и к лучшему, не придется с уебками работать.
>>227819348 (OP) Что ты как пень? Тебе в резюме слабо написать конкретные задачи которые ты решал и обозвать себя в них "экспертом с углубленным пониманием", "Просьба с предложениями по другим задачам не беспокоить"?
>>227825727 Поехавший? Эйчары никого не собеседуют. Собеседуют тех. спецы - такие же прогеры, админы, сетевики, безопасники как и ты сам. Эйчар ищет кондидатов, дает общую инфу о прокете и компании и проводит первоначальный скрининг на предмет не полный ли ты дибил и вменяем ли ты вообще.
>>227819348 (OP) Не переживай, ОП. Это всего лишь работа. Что ты так завелся. Посидишь над Хорстманом пару недель, поделаешь задачки на литкоде и устроишься куда-нибудь. Ну может не в компанию твоей мечты, но куда нибудь точно возьмут.
>>227822107 Вот такую хуйню самопридумал. Проверьте плез. 1) Делаем асоциативный массив: key - подстрока, value - list из начальных позиций подстроки. Выделение памяти = длинна строки длинна подстроки = можно охуеть! 2) Идем по исходной строке с сдвигом в право, на каждой итерации работая с подстрокой (n+1) длинны. 3) Если подстроки нет в нашем kv - добавляем, дописываем её начальную позицию в value, добавляем в list. Доходим до конца строки. 4) Выделяем массив битовую маску длинной со строку. 5) Идем по всем value ассоциативного массива и по внутреним list. 6) Если длинна list > 1. Все позиции битовой маски начиная с позиции подстроки (значение из list) до позиции + n+1 выставляем в True. Доходим до конца kv массива. 7) Идем по всем позициям битовой маски, если элемент = False добавляем символ с той же позицией из исходной строки в целевую строку. Память - длинна строки длинна подстроки, но сложность по CPU - N.
>>227825504>>227825338 1) Функциональщины не так уж и много на проектах. Классы выдрочены немного, начинал в энтерпрайзе на C# писать, ушёл в итоге во фронт. Декораторы трогал, но не разбирался. Разве что юзаю vue-property-decorator, очень удобно. А вообще спасибо за совет, посмотрю что можно с этим сделать. 2) А ведь правда, но если его экспортировать, то компилится код чтобы его экспортнуть как модуль. 3) Но в тс было в какой-то версии до того как выкатили на браузеры нативно, но вообще да var PARENTS; PARENTS["mama"] = "mama";PARENTS["papa"] = "papa" или PARENTS.mama = "mama";PARENTS.papa= "papa" Или что-то вроде такого, но принцип такой, определяется проперти с названием и ей задаётся значение строки, если с числами, то там по другому это делается. >>227825750 У нас наверняка плагин на транспиляцию этого стоит до сих пор
Ну я тащемта после каждой работы делают перерывы в месяц или три, на ютубе посмотри несколько роликов вроде frontend/react/javascript interview questions, на гитхабе список вопросов выучи, походи на пару собеседований и все. В каждой второй конторе тимлиды оттуда же вопросы и берут.
Раз говоришь, что выдрочены, то во что компилируется абстрактный класс и зачем он нужен, если есть интерфейс? А поддерживает ли джаваскрипт множественное наследование? Чем прото от прототайп отличается? Какие модификаторы доступа знаешь и используешь? А паттерны юзаешь, синглтон напишешь легко и прямо сейчас? На классах и наследовании тысячи фронтендеров завалились, так что лучше вот это говнище всегда повторяй перед собесом.
>>227827182 Внезапно не зря, сейчас проверил и tsc компилит так энумки >1 Абстрактный класс нужен для того, чтобы обязать наследователей имплементировать всё, что он содержит. Интерфейс тоже, но он не является классом и не может содержать имплементацию, наследники не оверрайдят содержимое. >2 Этого не знаю >3 В прототайп можно расширять имеющиеся классы джса, я так форматирование дат делал чтобы их можно было на самих объектах дат вызывать. Прото знаю что такое. >4 private ограничивает доступность для всего, кроме класса где он юзается. readonly не позвоялет писать в поле static позволяет обращаться к полям или функциям класса не создавая инстанс класса (или через this внутри самого класса) override чтобы оверрайдить при наследовании Мб ещё какие знаю, но не помню т.к. не использую. >5 class OpSingleton { private static instance: OpSingleton; static getInstance(): OpSingleton { this.instance = this.instance ?? new OpSignleton(); }} Вызывается через OpSingleton.getInstance(). Повсеместно использую такую конструкцию.
Круто знать что я смогу не утонуть на собесе если что, текущее место работы очень богато было на задачи и людей которые смогли мне объяснить эти концепты.
>>227825946 Ну да, ты прав, Эйчары как раз таки норм в общении, я наверное имел ввиду этих тех.специалистов которые почувствовали себя важными и которые кривятся потом на этих же няшных эйчарок, типо кого вы мне подсунули. Ну вот с такими как раз и хуево потом работать.
>>227827805 > private readonly В дополнение ещё могу сказать, что это нужно только для статической типизации и всё, в жсе всё равно можно писать сюда и обращаться к private пропертям
>>227819348 (OP) Чет ты припездываешь. Как ты можешь быть профессионалом если не можешь ответить на базовые вопросы? Хуйня какая то братишка, я бы тоже такого не стал нанимать.
Лучше скажите кто-нибудь из вас в финансовой сфере работает?
Я хочу написать торгового робота для форекса. Сейчас пока в теории разбираюсь. Нас трое человек на данный момент. Опыт спекуляций 9 лет. Язык C++, C, С# под это дело подходит.