Опыт работы с сетью и/или многопоточностью (C++)
От: DTF  
Дата: 13.06.17 14:30
Оценка:
Привет!
Смотрю сейчас вакансии на C++-разраба, и в очень большом количестве вакансий требуется опыт работы с сетью и/или многопоточностью.

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

Или я не понимаю чего-то?
Re: Опыт работы с сетью и/или многопоточностью (C++)
От: turbocode  
Дата: 13.06.17 14:53
Оценка: +2
DTF>А где его взять, если раньше не работал с этими вещами?
А что же ты делал?

DTF>Просто книжку прочитать ведь мало, т.к. требуют именно опыт.

DTF>Или я не понимаю чего-то?

Такой опыт годами нарабатывается, поэтому иди туда где этого не требуют.
Re[2]: Опыт работы с сетью и/или многопоточностью (C++)
От: DTF  
Дата: 13.06.17 14:57
Оценка: 1 (1)
T>А что же ты делал?
ну не совсем формошлепство, но работал на задачах, где не было ни многопоточности, ни сети

T>Такой опыт годами нарабатывается, поэтому иди туда где этого не требуют.

Соответственно, на такой работе я этого опыта и не получу. Замкнутый круг?
Re[3]: Опыт работы с сетью и/или многопоточностью (C++)
От: Лазар Бешкенадзе СССР  
Дата: 13.06.17 15:13
Оценка:
Здравствуйте, DTF, Вы писали:

T>>Такой опыт годами нарабатывается, поэтому иди туда где этого не требуют.

DTF>Соответственно, на такой работе я этого опыта и не получу. Замкнутый круг?

Существуют компании где делается и то и другое. Иди в такую и переквалифицируйся в пределах компании.

Я работал в компании Технекон и там были те кто делал кишки с полным пониманием многопоточности (я из этих) и те кто делал UI. Иногда, когда им приходилось не очень очевидно использовать наши MTA компоненты они самоуверенно начинали нам указывать что наши компоненты 'виснут'. В таких случаях всегда оказывалось что ребята даже не подозревают о существовании разных apartment в модели COM, даже не подозревают что сами всегда работают в STA и всегда приходилось им объяснять что проблемы у них и показывать им где эти проблемы. Зачем ты такой нужен на разработке продукта где все многопоточно?
Re[3]: Опыт работы с сетью и/или многопоточностью (C++)
От: turbocode  
Дата: 13.06.17 15:14
Оценка: +1
DTF>Соответственно, на такой работе я этого опыта и не получу. Замкнутый круг?
Будет у тебя опыт сети и многопоточности, потом будут требовать от тебя HighLoad. Будет HighLoad будут требовать еще и MachineLearning. Это бесконечная гонка.
Re: Опыт работы с сетью и/или многопоточностью (C++)
От: zou  
Дата: 13.06.17 15:58
Оценка: +2 -1 :))
Здравствуйте, DTF, Вы писали:

DTF>А где его взять, если раньше не работал с этими вещами?

DTF>Просто книжку прочитать ведь мало, т.к. требуют именно опыт.

Напиши многопоточный сервер в образовательных целях, после чего говори, что опыт есть.
Re[4]: Опыт работы с сетью и/или многопоточностью (C++)
От: DTF  
Дата: 13.06.17 16:02
Оценка: 1 (1)
Здравствуйте, turbocode, Вы писали:

T>Будет у тебя опыт сети и многопоточности, потом будут требовать от тебя HighLoad. Будет HighLoad будут требовать еще и MachineLearning. Это бесконечная гонка.


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

Книги читать? Да, это хорошо, знания они дадут, но не опыт.
Играться дома с технологией? это опыт, но совсем минимальный, использование технологии в продакшене будет отличаться.
Re[5]: Опыт работы с сетью и/или многопоточностью (C++)
От: turbocode  
Дата: 13.06.17 16:12
Оценка: -1
DTF>Это понятно, но как-то не видно вакансий, где брали бы человека без опыта и были бы готовы тратить время на его обучение.
DTF>Как тогда развиваться в техническом направлени?

Смотри, cамый расцвет С++ был в начале 2000-х, тогда требовалось много С++ников и они покрывают потребности по сей день.
И это зубры с 10+ лет опыта, у них есть всё и многопоточность и HighLoad. И пока они не уйдут на пенсию новичкам вроде тебя ничего не светит.
Поэтому лучше копай то что сейчас в дефиците и то что модно.
Re: Опыт работы с сетью и/или многопоточностью (C++)
От: msorc Грузия  
Дата: 13.06.17 18:11
Оценка: 6 (1)
Здравствуйте, DTF, Вы писали:

DTF>Смотрю сейчас вакансии на C++-разраба, и в очень большом количестве вакансий требуется опыт работы с сетью и/или многопоточностью.


DTF>А где его взять, если раньше не работал с этими вещами?

DTF>Просто книжку прочитать ведь мало, т.к. требуют именно опыт.

Поучаствуй в открытых проектах с сетью и/или многопоточностью. Закрой пару багов или фичу какую попробуй реализовать. И опыт получишь и можно документально предъявить.
А сказать можно, что в работе не нужно было, но вот сам изучал и смотрите, даже применял.
Re[2]: Опыт работы с сетью и/или многопоточностью (C++)
От: Лазар Бешкенадзе СССР  
Дата: 13.06.17 18:23
Оценка: 6 (1) +2
Здравствуйте, zou, Вы писали:

zou>Напиши многопоточный сервер в образовательных целях, после чего говори, что опыт есть.


Я не понимаю почему это минусуют. Мой опыт говорит что на работе тебе никогда не придется делать ядро сервера. Любая работа по TCP/IP это всегда что-то клиентское (по смыслу) даже если в составе какого-то сервера и всегда было ощущение что пишу какой-то вирус. Попробовать реальный сервер работающий на портах завершения мне довелось только в собственном проекте.
Отредактировано 13.06.2017 18:24 Лазар Бешкенадзе . Предыдущая версия .
Re[5]: Опыт работы с сетью и/или многопоточностью (C++)
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.06.17 22:44
Оценка: +2 -1
Здравствуйте, DTF, Вы писали:

DTF>Книги читать? Да, это хорошо, знания они дадут, но не опыт.

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

Я понимаю, почему дома нельзя освоить прецезионное литье чугуна под давлением на профессиональном уровне. Но почему дома нельзя освоить какую-то программистскую технологию?
Re[3]: Опыт работы с сетью и/или многопоточностью (C++)
От: Denwer Россия  
Дата: 14.06.17 06:18
Оценка:
Здравствуйте, Лазар Бешкенадзе, Вы писали:

ЛБ>Здравствуйте, zou, Вы писали:


zou>>Напиши многопоточный сервер в образовательных целях, после чего говори, что опыт есть.


ЛБ>Я не понимаю почему это минусуют. Мой опыт говорит что на работе тебе никогда не придется делать ядро сервера. Любая работа по TCP/IP это всегда что-то клиентское (по смыслу) даже если в составе какого-то сервера и всегда было ощущение что пишу какой-то вирус. Попробовать реальный сервер работающий на портах завершения мне довелось только в собственном проекте.


Это зависит от работы. У меня лично за последние 2 года было несколько серверов, причем один из них был распределенным, там целое дерево выросло из него.
Re: Опыт работы с сетью и/или многопоточностью (C++)
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 14.06.17 07:13
Оценка: -2 :))
DTF, по поводу многопоточности: поставьте себе дома на компьютер Visual C++ и создайте несколько достаточно простых программ, реализующих многопоточность--запуск потоков, их приостановку, их возобновление, их завершение (обычное и принудительное). Также советую попробывать использовать в этих задачах многопоточности различные механизмы синхронизации потоков--семафор, мьютекс, критическую секцию и т.д. И у Вас уже будет опыт (пусть и минимальный) по работе с потоками.

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

P.S. А вообще этот дикий капитализм у нас в России многих достал. Можете посмотреть мою соседнюю тему "Куда идти программисту после 45 лет?".
1613 г. = 2024 г.
Re[2]: Опыт работы с сетью и/или многопоточностью (C++)
От: _Butch_  
Дата: 14.06.17 07:35
Оценка: 1 (1) -1 :)
Здравствуйте, RussianFellow, Вы писали:

RF>поставьте себе дома на компьютер Visual C++

что за виндофильство?

RF>их завершение (обычное и принудительное).

ну, скажем так, вызов TerminateThread — "это залёт, воин" (с)

RF>синхронизации потоков--семафор

мне вот интересно, кому-нибудь когда-нибудь вообще пригодился этот семафор?
Re: Опыт работы с сетью и/или многопоточностью (C++)
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 14.06.17 07:56
Оценка:
Здравствуйте, DTF, Вы писали:

DTF>А где его взять, если раньше не работал с этими вещами?

DTF>Просто книжку прочитать ведь мало, т.к. требуют именно опыт.

Поддерживаю работу в открытом проекте, можно взять любой.
Например, есть полузаброшенный Moment Video Server, исходники которого доступны. Замени posix потоки на std::thread. Получишь опыт сразу в нескольких направлениях: многопоточность, сеть, а также новый и старый подходы к этому. Это круто.
Можно добавить туда boost, чтобы отвязать сервер от unix-like платформ и запускать под Windows.
После этого можешь смело писать в резюме об опыте и прикладывать ссылку на проект.
Re: Опыт работы с сетью и/или многопоточностью (C++)
От: Sheridan Россия  
Дата: 14.06.17 08:43
Оценка:
Здравствуйте, DTF, Вы писали:

DTF>А где его взять, если раньше не работал с этими вещами?

DTF>Просто книжку прочитать ведь мало, т.к. требуют именно опыт.

Matrix has you...
Re[5]: Опыт работы с сетью и/или многопоточностью (C++)
От: AlexGin Беларусь  
Дата: 14.06.17 11:01
Оценка: +1
Здравствуйте, DTF, Вы писали:

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

1) Может получиться именно так, что на данную вакансию окажешься (как спец хоть как-то знающий данную тему) только ты. Вполне может получиться, что у других претендентов — не будет и такого опыта.
2) Сеть и многопоточность, это всё-таки такие вещи, которые можно как-то подтянуть, даже в домашних условиях. Было бы желание. Отличия для продакшена — вполне можно подтянуть на месте (имея знания и некоторый базовый опыт).
Re[6]: Опыт работы с сетью и/или многопоточностью (C++)
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 14.06.17 11:09
Оценка: +1
Здравствуйте, AlexGin, Вы писали:

AG>1) Может получиться именно так, что на данную вакансию окажешься (как спец хоть как-то знающий данную тему) только ты. Вполне может получиться, что у других претендентов — не будет и такого опыта.


Кстати, да. У меня было похожее положение на заре становления CUDA. Я тогда в свободное время перенёс на видеокарту свой детектор движения, также в свободное время интегрировал его в рабочий проект. И всё. Потом уволился, начал собеседоваться и оказалось, что людей с подобным опытом по России довольно мало. Этот мини проект стал моим ключевым преимуществом перед другими кандидатами при трудоустройстве.
P.S. Разумеется, на собеседовании меня по CUDA спрашивали при этом.
Re[3]: Опыт работы с сетью и/или многопоточностью (C++)
От: sergey2b ЮАР  
Дата: 14.06.17 11:19
Оценка:
Здравствуйте, _Butch_, Вы писали:

RF>>синхронизации потоков--семафор

_B_>мне вот интересно, кому-нибудь когда-нибудь вообще пригодился этот семафор?

да мне, на собеседовании писал решение задачи писателей и читателей
Re[2]: Опыт работы с сетью и/или многопоточностью (C++)
От: AlexGin Беларусь  
Дата: 14.06.17 11:32
Оценка: +2
Здравствуйте, 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. Гугли ключевые слова по данным технологиям — и будет возможность найти некоторые примеры решений.
Отредактировано 14.06.2017 11:35 AlexGin . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.