DTF>А где его взять, если раньше не работал с этими вещами?
А что же ты делал?
DTF>Просто книжку прочитать ведь мало, т.к. требуют именно опыт. DTF>Или я не понимаю чего-то?
Такой опыт годами нарабатывается, поэтому иди туда где этого не требуют.
Re[2]: Опыт работы с сетью и/или многопоточностью (C++)
T>А что же ты делал?
ну не совсем формошлепство, но работал на задачах, где не было ни многопоточности, ни сети
T>Такой опыт годами нарабатывается, поэтому иди туда где этого не требуют.
Соответственно, на такой работе я этого опыта и не получу. Замкнутый круг?
Re[3]: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, DTF, Вы писали:
T>>Такой опыт годами нарабатывается, поэтому иди туда где этого не требуют. DTF>Соответственно, на такой работе я этого опыта и не получу. Замкнутый круг?
Существуют компании где делается и то и другое. Иди в такую и переквалифицируйся в пределах компании.
Я работал в компании Технекон и там были те кто делал кишки с полным пониманием многопоточности (я из этих) и те кто делал UI. Иногда, когда им приходилось не очень очевидно использовать наши MTA компоненты они самоуверенно начинали нам указывать что наши компоненты 'виснут'. В таких случаях всегда оказывалось что ребята даже не подозревают о существовании разных apartment в модели COM, даже не подозревают что сами всегда работают в STA и всегда приходилось им объяснять что проблемы у них и показывать им где эти проблемы. Зачем ты такой нужен на разработке продукта где все многопоточно?
Re[3]: Опыт работы с сетью и/или многопоточностью (C++)
DTF>Соответственно, на такой работе я этого опыта и не получу. Замкнутый круг?
Будет у тебя опыт сети и многопоточности, потом будут требовать от тебя HighLoad. Будет HighLoad будут требовать еще и MachineLearning. Это бесконечная гонка.
Re: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, DTF, Вы писали:
DTF>А где его взять, если раньше не работал с этими вещами? DTF>Просто книжку прочитать ведь мало, т.к. требуют именно опыт.
Напиши многопоточный сервер в образовательных целях, после чего говори, что опыт есть.
Re[4]: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, turbocode, Вы писали:
T>Будет у тебя опыт сети и многопоточности, потом будут требовать от тебя HighLoad. Будет HighLoad будут требовать еще и MachineLearning. Это бесконечная гонка.
Это понятно, но как-то не видно вакансий, где брали бы человека без опыта и были бы готовы тратить время на его обучение.
Как тогда развиваться в техническом направлени?
Книги читать? Да, это хорошо, знания они дадут, но не опыт.
Играться дома с технологией? это опыт, но совсем минимальный, использование технологии в продакшене будет отличаться.
Re[5]: Опыт работы с сетью и/или многопоточностью (C++)
DTF>Это понятно, но как-то не видно вакансий, где брали бы человека без опыта и были бы готовы тратить время на его обучение. DTF>Как тогда развиваться в техническом направлени?
Смотри, cамый расцвет С++ был в начале 2000-х, тогда требовалось много С++ников и они покрывают потребности по сей день.
И это зубры с 10+ лет опыта, у них есть всё и многопоточность и HighLoad. И пока они не уйдут на пенсию новичкам вроде тебя ничего не светит.
Поэтому лучше копай то что сейчас в дефиците и то что модно.
Re: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, DTF, Вы писали:
DTF>Смотрю сейчас вакансии на C++-разраба, и в очень большом количестве вакансий требуется опыт работы с сетью и/или многопоточностью.
DTF>А где его взять, если раньше не работал с этими вещами? DTF>Просто книжку прочитать ведь мало, т.к. требуют именно опыт.
Поучаствуй в открытых проектах с сетью и/или многопоточностью. Закрой пару багов или фичу какую попробуй реализовать. И опыт получишь и можно документально предъявить.
А сказать можно, что в работе не нужно было, но вот сам изучал и смотрите, даже применял.
Re[2]: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, zou, Вы писали:
zou>Напиши многопоточный сервер в образовательных целях, после чего говори, что опыт есть.
Я не понимаю почему это минусуют. Мой опыт говорит что на работе тебе никогда не придется делать ядро сервера. Любая работа по TCP/IP это всегда что-то клиентское (по смыслу) даже если в составе какого-то сервера и всегда было ощущение что пишу какой-то вирус. Попробовать реальный сервер работающий на портах завершения мне довелось только в собственном проекте.
Здравствуйте, DTF, Вы писали:
DTF>Книги читать? Да, это хорошо, знания они дадут, но не опыт. DTF>Играться дома с технологией? это опыт, но совсем минимальный, использование технологии в продакшене будет отличаться.
Я понимаю, почему дома нельзя освоить прецезионное литье чугуна под давлением на профессиональном уровне. Но почему дома нельзя освоить какую-то программистскую технологию?
Re[3]: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, Лазар Бешкенадзе, Вы писали:
ЛБ>Здравствуйте, zou, Вы писали:
zou>>Напиши многопоточный сервер в образовательных целях, после чего говори, что опыт есть.
ЛБ>Я не понимаю почему это минусуют. Мой опыт говорит что на работе тебе никогда не придется делать ядро сервера. Любая работа по TCP/IP это всегда что-то клиентское (по смыслу) даже если в составе какого-то сервера и всегда было ощущение что пишу какой-то вирус. Попробовать реальный сервер работающий на портах завершения мне довелось только в собственном проекте.
Это зависит от работы. У меня лично за последние 2 года было несколько серверов, причем один из них был распределенным, там целое дерево выросло из него.
Re: Опыт работы с сетью и/или многопоточностью (C++)
DTF, по поводу многопоточности: поставьте себе дома на компьютер Visual C++ и создайте несколько достаточно простых программ, реализующих многопоточность--запуск потоков, их приостановку, их возобновление, их завершение (обычное и принудительное). Также советую попробывать использовать в этих задачах многопоточности различные механизмы синхронизации потоков--семафор, мьютекс, критическую секцию и т.д. И у Вас уже будет опыт (пусть и минимальный) по работе с потоками.
Насчёт работы с сетью--не знаю, тут опыт можно приобрести только в организации, где есть сеть.
P.S. А вообще этот дикий капитализм у нас в России многих достал. Можете посмотреть мою соседнюю тему "Куда идти программисту после 45 лет?".
1613 г. = 2024 г.
Re[2]: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, RussianFellow, Вы писали:
RF>поставьте себе дома на компьютер Visual C++
что за виндофильство?
RF>их завершение (обычное и принудительное).
ну, скажем так, вызов TerminateThread — "это залёт, воин" (с)
RF>синхронизации потоков--семафор
мне вот интересно, кому-нибудь когда-нибудь вообще пригодился этот семафор?
Re: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, DTF, Вы писали:
DTF>А где его взять, если раньше не работал с этими вещами? DTF>Просто книжку прочитать ведь мало, т.к. требуют именно опыт.
Поддерживаю работу в открытом проекте, можно взять любой.
Например, есть полузаброшенный Moment Video Server, исходники которого доступны. Замени posix потоки на std::thread. Получишь опыт сразу в нескольких направлениях: многопоточность, сеть, а также новый и старый подходы к этому. Это круто.
Можно добавить туда boost, чтобы отвязать сервер от unix-like платформ и запускать под Windows.
После этого можешь смело писать в резюме об опыте и прикладывать ссылку на проект.
Re: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, DTF, Вы писали:
DTF>А где его взять, если раньше не работал с этими вещами? DTF>Просто книжку прочитать ведь мало, т.к. требуют именно опыт.
Matrix has you...
Re[5]: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, DTF, Вы писали:
DTF>Играться дома с технологией? это опыт, но совсем минимальный, использование технологии в продакшене будет отличаться.
1) Может получиться именно так, что на данную вакансию окажешься (как спец хоть как-то знающий данную тему) только ты. Вполне может получиться, что у других претендентов — не будет и такого опыта.
2) Сеть и многопоточность, это всё-таки такие вещи, которые можно как-то подтянуть, даже в домашних условиях. Было бы желание. Отличия для продакшена — вполне можно подтянуть на месте (имея знания и некоторый базовый опыт).
Re[6]: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, AlexGin, Вы писали:
AG>1) Может получиться именно так, что на данную вакансию окажешься (как спец хоть как-то знающий данную тему) только ты. Вполне может получиться, что у других претендентов — не будет и такого опыта.
Кстати, да. У меня было похожее положение на заре становления CUDA. Я тогда в свободное время перенёс на видеокарту свой детектор движения, также в свободное время интегрировал его в рабочий проект. И всё. Потом уволился, начал собеседоваться и оказалось, что людей с подобным опытом по России довольно мало. Этот мини проект стал моим ключевым преимуществом перед другими кандидатами при трудоустройстве.
P.S. Разумеется, на собеседовании меня по CUDA спрашивали при этом.
Re[3]: Опыт работы с сетью и/или многопоточностью (C++)
Здравствуйте, RussianFellow, Вы писали:
RF>DTF, по поводу многопоточности: поставьте себе дома на компьютер Visual C++ и создайте несколько достаточно простых программ, реализующих многопоточность--запуск потоков, их приостановку, их возобновление, их завершение (обычное и принудительное).
Ну, прежде всего, я бы задачу поставил несколько иначе.
Например: параллельные вычисления (пока даже не столь важно чего, хоть знаков в числе Pi: https://habrahabr.ru/post/309674 ).
Затем, опробовав идею в однопоточной реализации, озаботился бы сделать её многопоточную версию.
В программе я определил бы, сколько ядер имеется на данном CPU, чтобы загрузить каждое из ядер вычислительными задачами.
После этого, добился бы синхронизации потоков (например — через крит/секции).
Применяя таймер (или мультимедийный таймер), определил бы выигрыш от применения многопоточности.
RF>Также советую попробывать использовать в этих задачах многопоточности различные механизмы синхронизации потоков--семафор, мьютекс, критическую секцию и т.д. И у Вас уже будет опыт (пусть и минимальный) по работе с потоками.
Задача немного искусственная, ИМХО не понятна суть данного действа.
Также непонятны критерии правильных/неправильных решений для данной задачи.
Правильнее было бы — поискать в интернете "тестовые задания C++".
Вот пример: https://docs.google.com/document/d/1trDh18L8FJ8cVlDZ4zSvFDXHLmvBs8UBET3GhGkfP1k/edit#heading=h.qbmjazpmtirt
RF>Насчёт работы с сетью--не знаю, тут опыт можно приобрести только в организации, где есть сеть.
Но хоть что-то можно поизучать даже и дома: соединил ноут и стационарный комп, вот уже тебе и простейшая сеть.
Пощупать TCP и UDP, ознакомиться с сокетами — можно даже и на ней.
P.S. Гугли ключевые слова по данным технологиям — и будет возможность найти некоторые примеры решений.