y6ejushe

Пользователь

Регистрация: 24.10.2021

Сообщения: 12479

Рейтинг: 2238

Нарушения: 25

y6ejushe

Регистрация: 24.10.2021

Сообщения: 12479

Рейтинг: 2238

Нарушения: 25

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

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

И так во всем, что такое http? Я вообще знать не знаю, что это. Отправляю гет и пост, делете, мне хватает. Буква s? Ну что то с шифрованием.

Гит? Ну там гит пул, пуш можно делать. Ветку создать или перейти. Чем отличается гит пул, от гит фетча? Ну гит пул это гит фетч и гит мердж. Если зададут вопрос из разряда, как откатить ветку на какой то комит, я уже знать не знать как ответить.

Докер? Ну супер удобная фигня для развертывания контейнеров которые можно собирать с определенной конфигурацией сервера, языка, субд и т.п. Как это работает? Мне откуда знать.

Скл? Ну умею жоинить. Транзакция, это тип выполняется код полностью, либо откатывается.

Рест? Что то слышал, не знаю.

Деплой? Не знаю, только через фреймворк локально, это мой максимум.

ssh? Ну ключи какие то которые дают доступ.

Короче, что мне делать, чтоб осознано понимать все это и на все вопросы давать четкий ответ? Нужно читать книги, статьи, видео смотреть? И каждую технологию заучивать, засыпать и просыпаться повторяя основы? Ведь всем пофиг, что ты можешь создать класс, если ты не можешь словами сказать, что это. Всем пофиг, что ты в состояние написать docker-compose, если не в состояние объяснить, как вообще это работает. И т.д.

Моих знаний даже на джун позицию не хватает.

mugiwara2

Пользователь

Регистрация: 19.06.2018

Сообщения: 2777

Рейтинг: 1355

mugiwara2

Регистрация: 19.06.2018

Сообщения: 2777

Рейтинг: 1355

img

такое на собесах спрашивают, ходи на них

peryevd

Пользователь

Регистрация: 02.02.2019

Сообщения: 94

Рейтинг: 66

peryevd

Регистрация: 02.02.2019

Сообщения: 94

Рейтинг: 66

mugiwara2 сказал(а):

такое на собесах спрашивают, ходи на них

Нажмите, чтобы раскрыть...

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

Corvinas

Пользователь

Регистрация: 19.12.2013

Сообщения: 2028

Рейтинг: 1298

Нарушения: 104

Corvinas

Регистрация: 19.12.2013

Сообщения: 2028

Рейтинг: 1298

Нарушения: 104

img
peryevd сказал(а):

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

Нажмите, чтобы раскрыть...

Ходить на собесы, чтоб получить оффер - SMOrc.png?1616514776

Ходить на собесы, чтоб получить знания - BrainCosmic.png?1619500266

mugiwara2

Пользователь

Регистрация: 19.06.2018

Сообщения: 2777

Рейтинг: 1355

mugiwara2

Регистрация: 19.06.2018

Сообщения: 2777

Рейтинг: 1355

img
peryevd сказал(а):

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

Нажмите, чтобы раскрыть...

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

raichuxa

Пользователь

Регистрация: 04.10.2013

Сообщения: 2690

Рейтинг: 1390

raichuxa

Регистрация: 04.10.2013

Сообщения: 2690

Рейтинг: 1390

img
y6ejushe сказал(а):

ужно читать книги, статьи, видео смотреть?

Нажмите, чтобы раскрыть...

все так

ты хоть тысячи раз умей это делать, но ты не сможешь продать себя на собесе, если не сможешь буковками объяснить все, что умеешь (что спросят)

прекрасно понимаю эту проблему

Valkyria

Пользователь

Регистрация: 15.06.2014

Сообщения: 524

Рейтинг: 209

Valkyria

Регистрация: 15.06.2014

Сообщения: 524

Рейтинг: 209

Я так понимаю, что IT образования у тебя нет? Просто, там многое из этого объясняют ещё и экзамен/тест должен сдать. Хотя это можно все знать и без обучения в университете/пту и т.д.

 

y6ejushe сказал(а):

Нужно читать книги

Нажмите, чтобы раскрыть...

Именно так. Я уже тут давал совет, что в таких случаях, нужно читать книги по программированью, чтобы уметь объяснить что такое ООП и его принципы(и прочее). Не зубрить, а вникать в суть слов, тогда всё встанет на свои места и будет легко. Потом эти знания можно использовать при разговоре с коллегами. 

 

y6ejushe сказал(а):

Засыпать и просыпаться повторяя основы

Нажмите, чтобы раскрыть...

Почему бы и нет.

 

y6ejushe сказал(а):

Ведь всем пофиг, что ты можешь создать класс, если ты не можешь словами сказать, что это

Нажмите, чтобы раскрыть...

Если ты хочешь быть хорошим специалистом, ты обязан это знать и уметь объяснить, то что ты используешь.

Я не говорю, что ты должен стать там Software Scientist и уметь сходу сказать сложность алгоритма, но основу ты должен знать.

 

y6ejushe сказал(а):

Гит? Ну там гит пул, пуш можно делать. Ветку создать или перейти. Чем отличается гит пул, от гит фетча? Ну гит пул это гит фетч и гит мердж.

Нажмите, чтобы раскрыть...

Ну, так этого мало. Зачем его придумали и почему им пользуются? Какие есть ещё системы управления версиями? А если ты придешь на другую работу, а там не git, а mercurial?(они фундаментально похожи, я к тому, что хотя бы поверхностно знал, что существует не только git, чтобы не растеряться)

По остальным, то же самое. Нужно понимать саму суть, не то что там есть join в SQL, но и в целом понимать что такое СУБД, зачем они нужны. Какие бывают, когда лучше использовать реляционную базу данных, а когда нереляционную. Где может примениться столбцовая СУБД. И так далее.

И супер всё подробно знать не надо. Я когда начал свой путь backend программиста, меня спросили в чем разница между Rabbit и Kafka и зачем они используются. Я до этого не написал ни одного приложения с использованьем event sourcing, но при этом, я смог им объяснить в 3 предложениях.

y6ejushe

Пользователь

Регистрация: 24.10.2021

Сообщения: 12479

Рейтинг: 2238

Нарушения: 25

y6ejushe

Регистрация: 24.10.2021

Сообщения: 12479

Рейтинг: 2238

Нарушения: 25

Valkyria сказал(а):

Я так понимаю, что IT образования у тебя нет? Просто, там многое из этого объясняют ещё и экзамен/тест должен сдать. Хотя это можно все знать и без обучения в университете/пту и т.д.

 

Именно так. Я уже тут давал совет, что в таких случаях, нужно читать книги по программированью, чтобы уметь объяснить что такое ООП и его принципы(и прочее). Не зубрить, а вникать в суть слов, тогда всё встанет на свои места и будет легко. Потом эти знания можно использовать при разговоре с коллегами. 

 

Почему бы и нет.

 

Если ты хочешь быть хорошим специалистом, ты обязан это знать и уметь объяснить, то что ты используешь.

Я не говорю, что ты должен стать там Software Scientist и уметь сходу сказать сложность алгоритма, но основу ты должен знать.

 

Ну, так этого мало. Зачем его придумали и почему им пользуются? Какие есть ещё системы управления версиями? А если ты придешь на другую работу, а там не git, а mercurial?(они фундаментально похожи, я к тому, что хотя бы поверхностно знал, что существует не только git, чтобы не растеряться)

По остальным, то же самое. Нужно понимать саму суть, не то что там есть join в SQL, но и в целом понимать что такое СУБД, зачем они нужны. Какие бывают, когда лучше использовать реляционную базу данных, а когда нереляционную. Где может примениться столбцовая СУБД. И так далее.

И супер всё подробно знать не надо. Я когда начал свой путь backend программиста, меня спросили в чем разница между Rabbit и Kafka и зачем они используются. Я до этого не написал ни одного приложения с использованьем event sourcing, но при этом, я смог им объяснить в 3 предложениях.

Нажмите, чтобы раскрыть...

Образование заочное я получаю в местном провинциальном вузе, сказать честно, там уровень крайне низкий. Там знаний я не получу, максимум какие то поверхностные.

 

Valkyria

Пользователь

Регистрация: 15.06.2014

Сообщения: 524

Рейтинг: 209

Valkyria

Регистрация: 15.06.2014

Сообщения: 524

Рейтинг: 209

y6ejushe сказал(а):

Образование заочное я получаю в местном провинциальном вузе, сказать честно, там уровень крайне низкий. Там знаний я не получу, максимум какие то поверхностные.

Нажмите, чтобы раскрыть...
y6ejushe сказал(а):

Рест? Что то слышал, не знаю.

Нажмите, чтобы раскрыть...

Настолько низкое и поверхностное, что вам даже не объяснили, что такое REST(может потом будет, если ещё учишься там)? Вам не только должны были объяснить его, но и дать вам создать свой RESTful сервис и взаимодействовать с ним, т.к. это основа. С этим ты будешь сталкиваться и как backend разработчик, и как frontend разработчик, т.к. иногда этим двоим надо как-то взаимодействовать, и один из этих способов и есть REST. Надеюсь, сам загуглишь и разберешься, но если надо будет по-тупому объяснить, то обращайся.

Hit Girl

Пользователь

Регистрация: 10.12.2014

Сообщения: 4216

Рейтинг: 2061

Hit Girl

Регистрация: 10.12.2014

Сообщения: 4216

Рейтинг: 2061

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

мне вообще кажется, что по одному ютубу реально стать синьором

Hy6o_Hy6

Пользователь

Регистрация: 16.11.2013

Сообщения: 3540

Рейтинг: 2188

Hy6o_Hy6

Регистрация: 16.11.2013

Сообщения: 3540

Рейтинг: 2188

y6ejushe сказал(а):

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

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

И так во всем, что такое http? Я вообще знать не знаю, что это. Отправляю гет и пост, делете, мне хватает. Буква s? Ну что то с шифрованием.

Гит? Ну там гит пул, пуш можно делать. Ветку создать или перейти. Чем отличается гит пул, от гит фетча? Ну гит пул это гит фетч и гит мердж. Если зададут вопрос из разряда, как откатить ветку на какой то комит, я уже знать не знать как ответить.

Докер? Ну супер удобная фигня для развертывания контейнеров которые можно собирать с определенной конфигурацией сервера, языка, субд и т.п. Как это работает? Мне откуда знать.

Скл? Ну умею жоинить. Транзакция, это тип выполняется код полностью, либо откатывается.

Рест? Что то слышал, не знаю.

Деплой? Не знаю, только через фреймворк локально, это мой максимум.

ssh? Ну ключи какие то которые дают доступ.

Короче, что мне делать, чтоб осознано понимать все это и на все вопросы давать четкий ответ? Нужно читать книги, статьи, видео смотреть? И каждую технологию заучивать, засыпать и просыпаться повторяя основы? Ведь всем пофиг, что ты можешь создать класс, если ты не можешь словами сказать, что это. Всем пофиг, что ты в состояние написать docker-compose, если не в состояние объяснить, как вообще это работает. И т.д.

Моих знаний даже на джун позицию не хватает.

Нажмите, чтобы раскрыть...

если ты не можешь обьяснить что такое ООП, то врятли ты его использовал, как тебе кажется

YoshkinKot

Пользователь

Регистрация: 20.06.2016

Сообщения: 12865

Рейтинг: 5145

YoshkinKot

Регистрация: 20.06.2016

Сообщения: 12865

Рейтинг: 5145

Valkyria сказал(а):

Настолько низкое и поверхностное, что вам даже не объяснили, что такое REST(может потом будет, если ещё учишься там)? Вам не только должны были объяснить его, но и дать вам создать свой RESTful сервис и взаимодействовать с ним, т.к. это основа. С этим ты будешь сталкиваться и как backend разработчик, и как frontend разработчик, т.к. иногда этим двоим надо как-то взаимодействовать, и один из этих способов и есть REST. Надеюсь, сам загуглишь и разберешься, но если надо будет по-тупому объяснить, то обращайся.

Нажмите, чтобы раскрыть...

Не должны, CS и программирование не ограничивается вебом 

Islamic_crusader

Пользователь

Регистрация: 29.11.2017

Сообщения: 5134

Рейтинг: 5262

Islamic_crusader

Регистрация: 29.11.2017

Сообщения: 5134

Рейтинг: 5262

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

YoshkinKot

Пользователь

Регистрация: 20.06.2016

Сообщения: 12865

Рейтинг: 5145

YoshkinKot

Регистрация: 20.06.2016

Сообщения: 12865

Рейтинг: 5145

Классы в целом-то и не нужны. Есть разные парадигмы у ООП.

 

Но вообще, это просто спецификация для объекта (что в нем есть). По которой эти объекты и генерируются.

 

Во многом это всё просто перенос идеи ADT. Но бывают упоротые ООП языки вроде common lisp, где полиморфизм функций сразу по нескольким параметрам. Поэтому там разделение жесткое: объекты это данные, методы это отдельные сущности, гвоздями не прибиты.

 

Ну ты понял: делай исследование на уровне «а какие альтернативы есть». Потыкайся и сформулируй для каждого, почему здесь так а не иначе, и что у них у всех общего.

 

Ну то есть http? А какие альтернативы? Ну gopher какой-нибудь из старых, quic из новых, и пошел смотреть в чем разница, нафига использовать то, а не другое.

KeHHu

Пользователь

Регистрация: 07.11.2013

Сообщения: 287

Рейтинг: 301

KeHHu

Регистрация: 07.11.2013

Сообщения: 287

Рейтинг: 301

Довольно яркий пример так нелюбимого многими "вкатывальщика в it".

Многое изучено, но очень поверхностно. Есть много навыков разнообразных, но все по принципу "2 раза на ютубе видел, могу повторить", а если аналогичная задача, но с парой доп нюансов - сложно. И вроде работать можешь, но не специалист.

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

Пару хороших книг по своему языку прочитать - полезно. Но это не главное. Главное - думать и быть внимательным к мелочам. Что-то встретил незнакомое/плохо знакомое? Потратил немного времени и изучил это, а не просто бездумно использовал. Решение получается слишком громоздким? Вероятно, городишь велосипед и, возможно, есть способ решить эту проблему гораздо более лаконично, просто ты его не знаешь. Гуглишь.

Могу посоветовать следующее:

1) Codewars  - много разнообразных и, главное, интересных, задач на многих языках, на любой уровень. Учит проявлять смекалку. Решил задачу - смотришь решения других, удивляешься, как кто-то эту задачу, над которой ты бился кучу времени, решил лаконично в одну строчку. Изучаешь то, что в этих решениях использовалось, добавляешь в свою копилку знаний.

2) Документация - старайся заглядывать туда почаще. На каком-нибудь stackoverflow ты, вероятно, найдёшь решение с минимумом объяснений. Это гораздо быстрее, скопировать и использовать, но в доке гораздо подробнее описана работа, а также подробности, как именно происходит процесс (правда, не всегда). Чем чаще заглядываешь под капот, тем больше знаний откладывается и тем больше общего понимания происходящего.

3) Тренируй логику всегда и везде. Логика - краеугольный камень разработчика. Даже в быту старайся анализировать всё происходящее. У всего есть причина и следствие. Пролил чай на клавиатуру. Почему? Потому что стакан стоит в неподходящем месте долгое время и ты о нём забыл. Почему? Потому что залип на видео в ютубе. Почему залип? Потому что не выспался ночью, затем целый день работал/учился и сейчас уставший. Почему не выспался? Потому что откладывал 3 дня важное дело, а вчера до глубокой ночи занимался этим вопросом. Почему? Потому что перед этим пошёл в бар, перепил и долго восстанавливался. Почему? Потому что на моменте "Как-то тухло сидим, может на водку перейдём?" слишком вяло сопротивлялся и сдался. Почему? Ну и подобное можно бесконечно продолжать. Звучит как Durka.png, но на деле прокачивает. Медленно, незаметно, но по итогу мозг привыкает во всём задействовать логику. "Почему?" "Как?" "Зачем?" главные вопросы. Из побочных плюсов - далее сможешь с высокой точностью предполагать ответы на вопросы по темам, в которых вообще не ориентируешься. История, политика и прочее. Главное только понимать разницу между истиной и предположением.

4) Небольшой хинт по изучению всякого рода нюансов, подкапотки и прочего - гуглишь "100 вопрос на собеседованиях junior/middle/senior %название языка%". По каждому вопросу читаешь описанный ответ, чтобы хоть чуть-чуть вникнуть, а дальше гуглишь это. Многие из этих вопросов, как раз, на углубленное понимание. Ну и поможет преодолеть не самое адекватное собеседование, но на неплохую работу.

Ну и ключевое: всё знать - нереально. Тем более все нюансы. Как мне когда-то говорил один senior: "я без подготовки могу завалить собеседование на джуна. Т.к. там иногда спрашивают такие микронюансы, которые я за 10 лет либо ни разу не использовал, либо сталкивался пару раз и забывал как страшный сон". Если всерьёз воспринимать все требованиям к джунам, то можно быстро растерять уверенность в себе. Не парься, всё получится. До мидла можно тупо на усердии дотянуть. Главное просто не сдаться, как это делает 90%+ начинающих.

y6ejushe

Пользователь

Регистрация: 24.10.2021

Сообщения: 12479

Рейтинг: 2238

Нарушения: 25

y6ejushe

Регистрация: 24.10.2021

Сообщения: 12479

Рейтинг: 2238

Нарушения: 25

KeHHu сказал(а):

Довольно яркий пример так нелюбимого многими "вкатывальщика в it".

Многое изучено, но очень поверхностно. Есть много навыков разнообразных, но все по принципу "2 раза на ютубе видел, могу повторить", а если аналогичная задача, но с парой доп нюансов - сложно. И вроде работать можешь, но не специалист.

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

Пару хороших книг по своему языку прочитать - полезно. Но это не главное. Главное - думать и быть внимательным к мелочам. Что-то встретил незнакомое/плохо знакомое? Потратил немного времени и изучил это, а не просто бездумно использовал. Решение получается слишком громоздким? Вероятно, городишь велосипед и, возможно, есть способ решить эту проблему гораздо более лаконично, просто ты его не знаешь. Гуглишь.

Могу посоветовать следующее:

1) Codewars  - много разнообразных и, главное, интересных, задач на многих языках, на любой уровень. Учит проявлять смекалку. Решил задачу - смотришь решения других, удивляешься, как кто-то эту задачу, над которой ты бился кучу времени, решил лаконично в одну строчку. Изучаешь то, что в этих решениях использовалось, добавляешь в свою копилку знаний.

2) Документация - старайся заглядывать туда почаще. На каком-нибудь stackoverflow ты, вероятно, найдёшь решение с минимумом объяснений. Это гораздо быстрее, скопировать и использовать, но в доке гораздо подробнее описана работа, а также подробности, как именно происходит процесс (правда, не всегда). Чем чаще заглядываешь под капот, тем больше знаний откладывается и тем больше общего понимания происходящего.

3) Тренируй логику всегда и везде. Логика - краеугольный камень разработчика. Даже в быту старайся анализировать всё происходящее. У всего есть причина и следствие. Пролил чай на клавиатуру. Почему? Потому что стакан стоит в неподходящем месте долгое время и ты о нём забыл. Почему? Потому что залип на видео в ютубе. Почему залип? Потому что не выспался ночью, затем целый день работал/учился и сейчас уставший. Почему не выспался? Потому что откладывал 3 дня важное дело, а вчера до глубокой ночи занимался этим вопросом. Почему? Потому что перед этим пошёл в бар, перепил и долго восстанавливался. Почему? Потому что на моменте "Как-то тухло сидим, может на водку перейдём?" слишком вяло сопротивлялся и сдался. Почему? Ну и подобное можно бесконечно продолжать. Звучит как Durka.png, но на деле прокачивает. Медленно, незаметно, но по итогу мозг привыкает во всём задействовать логику. "Почему?" "Как?" "Зачем?" главные вопросы. Из побочных плюсов - далее сможешь с высокой точностью предполагать ответы на вопросы по темам, в которых вообще не ориентируешься. История, политика и прочее. Главное только понимать разницу между истиной и предположением.

4) Небольшой хинт по изучению всякого рода нюансов, подкапотки и прочего - гуглишь "100 вопрос на собеседованиях junior/middle/senior %название языка%". По каждому вопросу читаешь описанный ответ, чтобы хоть чуть-чуть вникнуть, а дальше гуглишь это. Многие из этих вопросов, как раз, на углубленное понимание. Ну и поможет преодолеть не самое адекватное собеседование, но на неплохую работу.

Ну и ключевое: всё знать - нереально. Тем более все нюансы. Как мне когда-то говорил один senior: "я без подготовки могу завалить собеседование на джуна. Т.к. там иногда спрашивают такие микронюансы, которые я за 10 лет либо ни разу не использовал, либо сталкивался пару раз и забывал как страшный сон". Если всерьёз воспринимать все требованиям к джунам, то можно быстро растерять уверенность в себе. Не парься, всё получится. До мидла можно тупо на усердии дотянуть. Главное просто не сдаться, как это делает 90%+ начинающих.

Нажмите, чтобы раскрыть...

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

Ectx

Пользователь

Регистрация: 20.07.2020

Сообщения: 1509

Рейтинг: 695

Ectx

Регистрация: 20.07.2020

Сообщения: 1509

Рейтинг: 695

img

Это тоже навык излагать мысли.

Нужно соответственно готовиться перед зеркалом объяснять свои мысли