M>С моей точки зрения (работодателя) ситуация выглядит так:
M>1) Очень многие думают, что знают свое дело (например, С++), но на самом деле не знают. Выясняется двумя-тремя вопросами, например — почему нельзя удалять массив объектов оператором delete. Если отвечают, что только первый элемент удалится, то все ясно — человек не работал с принципиальными вещами.
чёто вспомнился случай, после института, когда один ламер спрашивал меня по C++, спросил что такое в C++ ЗИС...
на просьбу сказать по буквам назвал три буквы: 'З' 'И' 'С', на просьбу написать слово на бумаге отказал — сказал что и так все понятно, я сидел ломал голову что это может быть? класс из какойто библиотеки? какойто алгоритм?
в конце выяснилось что речь шла про this , замечу что слово прозвучало чисто по русски "ЗИС" — через русскую И, я к такому звучанию не привык и связи между искореженным звучанием ЗИС и английским this както не возникало...
Короче этот тип решил что "все ясно — человек не работал с принципиальными вещами"
Тот кто говорит не знает, тот кто знает не говорит.
Re[3]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, Andrew.W Worobow, Вы писали:
AWW>Вот например мне тоже один задал вопрос, а сколько всего сокетов можно открыть в windows, так мне как ему отвечать, как идиоту, или как на самом деле дело обстоит... Потому как точной цифры нет, а он ведь наверняка её знает... Ну думаю что делать, говорю — "тысяч шестнадцать открыть наверно можно будет..." А он оказывается имел ввиду, в программе.... Даже вернее не в программе а в потоке, даже вернее сколько можно будет их отсилектировать через селект... Вот хохма... Ну да говорю шестьдесят четыре...
Здравствуйте, olegkr, Вы писали:
O>Здравствуйте, Sergey Philippov, Вы писали:
>>> int *arr = new arr[15]; >>> delete [] arr; >>> SP>>Ключевое слово -- *объектов*
O>да вроде как все проще (см выделенное)
дас ист опечатка (меняем arr на int).
(c) Мало проснуться знаменитым. Надо еще убедиться в отсутствии смирительной рубашки.
Здравствуйте, olen33, Вы писали:
AWW>>То есть проблема в большой текучке кадров? AWW>>Ну я что-то уж очень большой текучки-то не вижу... Даже скорее наоборот, программисты народ не очень лёгкий на подъём... Мне так кажется всёже проблема в том, что работодатель ищет каких-то "принцев на белом коне"...
угу, только проблема что ищет-то работодатель, а ключевые интервью с реальным решением брать или нет — проводятся техническими спецами, которые суть "программисты с завышенной самооценкой" (с)
Плюс все портится тем, что денег приходящим обычно не положено больше, чем тем, кто собеседует (они как правило в курсе вилки на собеседуемую позицию и их ЗП соотв. должна быть не ниже верхней границы этой вилки иначе адекватности от них можно не ожидать — даже если они честно будут стараться быть таковыми) — отсюда доп мотив почему не возьмут тех кто лучше тех кто есть, см ниже гипотезу
O>Не только в этом. Многие программисты имеют завышенную самооценку. Большинство из тех, кто приходит на собеседование просто не могут программировать.
в связи с этим пришла в голову такая гипотеза, рассчет на психологию и самомнение программистское, которое почему-то часто классифицируют как "еще один непризнанный гений"
типичная ситуация в нашей молодой профессии: тот кто еще вчера был разработчиком, сегодня уже проводит интервью ибо HR привела "еще одного, все что ты просил вроде у него есть — посмотри а?"
подойдем к анализу логично, по-разработчицки
— таких прямо как я — не бывает, ведь каждый человек — уникален.
— тех кто сильно или просто хуже брать не хочется, ибо зачем брать даунов, тут все ясно. никто не хочет покупать хлам без причины. Даже бесплатно.
— те кто чуть хуже — так, это уже интересно! ради этого проводятся интервью надо все-таки выяснить до конца (т.е. доказать самому себе) что он действительно хуже или что тоже самое, что я не хуже. а в силу первого пункта выходит автоматом что я даже лучше т.е. если по всем вопросом паритет, кандидат везде в теме, адекватен, не колется то у интервьюера логичная цель появляеся — надо все-таки найти хоть в чем-то слабое место или lack of knowledge of something. и таким образом доказав себе что-то греющее свое эго и успокоившись — приятно так перевести кандидата в пред категорию — "как! он же просто не может программировать!"
— интересно, что тех кто чуть лучше — тоже не бывает! почему, спросите? да потому что он тогда попадет в категорию чуть хуже в силу такого по-спортивному понятного психологического нежелания проигрывать у интервьюера! Что-то нечто вроде презумпции невиновности — пока кандидат не показал полное превосходство, он считается проигравшим. когда светит победа по очкам, каждый боксер вскидывает вверх руку — считая себя как минимум не хуже, даже если понимает что проиграл или что судьи куплены противником, а нокаут не удался но у интервьюера еще есть шанс отыграться — не взять кандидата и не вспоминать потом об этом недоразумении! кто сможет преодолеть себя, кто умеет быть сильным среди равных? а если собеседование идет на позицию с заявленной ЗП выше твоей текущей — что сплошь и рядом бывает? тяжелые вопросы... гораздо проще просто не писать ничего в ответ кандидату, пусть идет с богом и себе спокойнее
— тех кто сильно лучше просто боятся — ведь это портит всю комфортную позицию хозяина интервью + все достижения на текущий момент, заработанные непосильным трудом перестают иметь ценность и вес. и даже перспективы! кто-то осознает явно — это конкурент! кто-то не осознает мотив явно, но он тот же самый — никто же не ищет себе начальника. Вдумайтесь даже как это возможно? Если видишь что ты супротив него просто кутенок... как ты можешь им управлять? или рекомендовать себе в напарники на равную с тобой позицию — а ты тогда кто? что-то тут не так с выстраиваемой иерархией получается... короче, итого, опять мимо.
написав все это и осознав ВЕСЬ УЖАС такого тяжелейшего положения я бы присоединился к крику души Андрея, только спросил бы: КАК получается что ХОТЯ БЫ ИНОГДА мы находим работу\берем кого-то на работу ВООБЩЕ?!!
и это ведь мы еще не касались рынка узких специалистов! там даже без шуток просто труба
... << RSDN@Home 1.2.0 alpha rev. 648>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Здравствуйте, Valery A. Boronin, Вы писали:
VAB>написав все это и осознав ВЕСЬ УЖАС такого тяжелейшего положения я бы присоединился к крику души Андрея, только спросил бы: КАК получается что ХОТЯ БЫ ИНОГДА мы находим работу\берем кого-то на работу ВООБЩЕ?!!
VAB>и это ведь мы еще не касались рынка узких специалистов! там даже без шуток просто труба
100% точно, структурно, основательно и верно...
И хочется только добавить, что с позиции работодателя складывается практически безвыходная ситуация — брать без тех. тестирования нельзя, а пройти могут только те которые показались тестирующему "ничего", то есть ему было комфортно его тестировать... А комфортно, это значит тестирующий не почувствовал себя неучем, смыслово-понтяйно они находились в одном поле... (знали одинаковые ответы на одни и те же вопросы , "ЗИС" было одинаково понятно им обоим)... Вообще мне видится, что если ситуация сильно не изменится, то поиск работников и поиск работы, так и останутся процессом "реализации связей" ... Причем подчеркну это проблема мировая, а не наша "отсталая" "совковая"...
Вот могу, привести из своего жизненного опыта... Хотя тут и ругают МС, но единственно где, мне удалось столкнуться с супер профессиональным подходом к найму, это был именно он... Никакого снобизма, никакого чувства "ну что ты там можешь знать вообще..." хотя поверьте в силу специфики специализации общаться пришлось с Гуру, вообще никаких чувств... всё строго — вопрос-ответ, вопрос-ответ... Сомнения — беседа с узким специалистом, и опять вопрос-ответ, вопрос-ответ...
Мне так почему то кажется, что главная проблема это отсутствие достаточного жизненного опыта (обусловленно возрастом) у испытателей... Я бы ещё грубее сказал — "как у молодых петушков — слишком много яиц..."
Пара наблюдений в копилку:
VAB>- интересно, что тех кто чуть лучше — тоже не бывает! ... кто сможет преодолеть себя, кто умеет быть сильным среди равных?
есть люди, честные перед собой, способные сказать себе — да, я знаю/умею меньше, чем вот этот кандидат.
VAB>- тех кто сильно лучше просто боятся — ведь это портит всю комфортную позицию хозяина интервью + все достижения на текущий момент, заработанные непосильным трудом перестают иметь ценность и вес. и даже перспективы! кто-то осознает явно — это конкурент! кто-то не осознает мотив явно, но он тот же самый — никто же не ищет себе начальника.
это просто overqualifiacation — частое неправильное позиционирование кандидата на должность программиста, когда он уже дорос до руководства проекта или архитектором.
Но! Не каждый даже очень хороший программист способен работать руководителем. И будет лучше, если работотадель преодолеет свой психологический барьер и будет платить программисту хотя бы вдвое больше среднего, если программист выполняет работу троих средних программистов.
VAB>написав все это и осознав ВЕСЬ УЖАС такого тяжелейшего положения я бы присоединился к крику души Андрея, только спросил бы: КАК получается что ХОТЯ БЫ ИНОГДА мы находим работу\берем кого-то на работу ВООБЩЕ?!!
Самое верное, это следовать совету Льва Николаевича:
- А ты не думай об работе и назад не оглядывайся и вперед не гляди, много ли сделал и много ли осталось. Только работай. Всё вовремя поспеет.
Здравствуйте, S-SH, Вы писали:
SS>Пара наблюдений в копилку:
VAB>>- интересно, что тех кто чуть лучше — тоже не бывает! ... кто сможет преодолеть себя, кто умеет быть сильным среди равных?
SS>есть люди, честные перед собой, способные сказать себе — да, я знаю/умею меньше, чем вот этот кандидат.
несомненно! более того — считаю что именно такие смелые и честные люди имеют больше шансов сделать дело. максимально хорошо, по-настоящему.
правда меньше шансов в корпоративной политической возне — факт. каждый все равно решает для себя сам, да и обстоятельства разные — кому-то тупо семью приходится кормить наступая на горло собственной песне... вот кстати и потенциальный клиент head hunter'a о котором тут плакали что его нет совсем в природе.
VAB>>- тех кто сильно лучше просто боятся — ведь это портит всю комфортную позицию хозяина интервью + все достижения на текущий момент, заработанные непосильным трудом перестают иметь ценность и вес. и даже перспективы! кто-то осознает явно — это конкурент! кто-то не осознает мотив явно, но он тот же самый — никто же не ищет себе начальника.
SS>это просто overqualifiacation — частое неправильное позиционирование кандидата на должность программиста, когда он уже дорос до руководства проекта или архитектором.
угу. кто ж спорит. но что делать, если нет для выросшего кандидата руководящих постов — там все занято + предпочитают своих растить — надежнее так, а новых проектов-компаний тоже нет. свой бизнес начать? не будем об этом тут.
получается девелопером только идти, причем за среднюю по рынку ЗП. Ибо больше не платят за эту позицию — не нужно мерседеса, если и на десятке можно справиться и даже более того на больше денег просто нет. другой вопрос, что вот если на халяву (за ту же цену т.е.) мерс предложат — многие не откажутся.
только вот самому мерсу будет как-то несолидно — почему-то видится, скоро продадут\уведут скорее всего, как пить дать, при случае — не по Сеньке раз шапка
SS>Но! Не каждый даже очень хороший программист способен работать руководителем. И будет лучше, если работотадель преодолеет свой психологический барьер и будет платить программисту хотя бы вдвое больше среднего, если программист выполняет работу троих средних программистов.
хорошо, вижу стоит отметить особо, что мое сообшение не было совсем серьезным, о чем говорят смайлики в т.ч. и в теме
так сказать гиперболизировал сообщение Андрея и не более. а вот сейчас похоже серьезный разговор пошел.
а раз серьезно, то покажите мне фирмы где девелоперы пусть и ведущие получают больше ПМов и рук-ва. короче фирмы где нет нужды уходить из девелопмента на руководящие посты чисто по финансовым причинам. Кстати в МС и гугл (инсайдерская инфа) это по деньгам весьма часто хуже оказывается (особенно невыгодно уже чего-то достигшим двелоперам на зеленого ПМа прыгать) — уйти с ключевого разработчика в управление, можно те же деньги а часто больше получить двигаясь по своей технической дороге. И пользы больше всем. И не удивляет когда ПМ проекта получает меньше чем половина его команды.
но у нас такого почти нет — если не брать какие-то случаи совершенно индивидуальные. Уж начальник у нас нигде не потерпит ЗП у подчиненного выше (при сравнимом количестве работы — нагрузке). разовые бонусы — да, могут быть какие-то месяцы где доход выше. но в долговременной перспективе — не знаю такого (подчеркну речь о стандартных software dev companies, про то как можно заработать в неск раз выше рынка "простым" разработчиком мне рассказывать не надо — личного опыта хватает).
А отсюда и проблема: программисты разнятся по разным оценкам в 10-100 раз, а ЗП в 2 ну 3 раза — вот и выходит что профи быстро потолок цепляют а дальше выходит только в руководители ибо иначе денег не заработаешь — опционы и т.п. для простых смертных у нас встречаются еще реже, плюс законы не позволяют интеллектуальной собственностью так сказать на паях учавствовать в стартапах, как в США (могу ошибаться — но кажется Слава Шевцов тут неплохо вопрос освещал когда-то)
но это уже в сторону от Андреевой мысли — что проблема-то даже не на рынке высокооплачиваемых спецов, а вообще на рынке имеет место быть! Честно говоря мне до конца в это не верится — уж найти работу в Мск на 1200 может практически кто угодно в течении недели — что студент, что суперпрофи (судя по форуму работа и о работе). где то тут что-то должно быть не так, Андрей явно что-то не учел\не досказал — сам пока сказать не могу в чем нестыковка, получилась только гипотеза
VAB>>написав все это и осознав ВЕСЬ УЖАС такого тяжелейшего положения я бы присоединился к крику души Андрея, только спросил бы: КАК получается что ХОТЯ БЫ ИНОГДА мы находим работу\берем кого-то на работу ВООБЩЕ?!!
SS>Самое верное, это следовать совету Льва Николаевича:
SS>
- А ты не думай об работе и назад не оглядывайся и вперед не гляди, много ли сделал и много ли осталось. Только работай. Всё вовремя поспеет.
хороший совет, недаром у Льва Николаевича была (по разным источникам) любимой (более того предсмертной) фраза: Fais se que dois adviegne que peut
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[3]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, Kemsky, Вы писали:
K>Здравствуйте, Maxas, Вы писали:
M>>1) Очень многие думают, что знают свое дело (например, С++), но на самом деле не знают. Выясняется двумя-тремя вопросами, например — почему нельзя удалять массив объектов оператором delete. Если отвечают, что только первый элемент удалится, то все ясно — человек не работал с принципиальными вещами.
K>Это может быть принципиальным только для разработчика компиляторов. Остальные могут десятилетия писать на C++ и никогда не задумываться о внутренностях delete. Если этого нельзя делать, какая разница почему.
Можно. Если нет, объясните почему.
Re[8]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, Sergey Philippov, Вы писали:
SP>WPooh пишет: >> >> То есть, я правильно понимаю, Вы хотите сказать, что в результате >> delete[] не будет вызван деструктор для каждого объекта для >> невстроенного типа? Или я не понял Вашу мысль, засада в другом? SP>Конечно будет вызван. Исходный вопрос не уточняет, как нельзя удалять -- SP>через "delete", или через "delete[]". Видимо это вопрос на засыпку SP>кандидата
SP>-- SP>С уважением, Сергей Филиппов. SP>ps-at-azs-ru
Удаление массива оператором delete — это по определению delete[].
Re[4]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, Hasmik, Вы писали:
M>>>1) Очень многие думают, что знают свое дело (например, С++), но на самом деле не знают. Выясняется двумя-тремя вопросами, например — почему нельзя удалять массив объектов оператором delete. Если отвечают, что только первый элемент удалится, то все ясно — человек не работал с принципиальными вещами.
K>>Это может быть принципиальным только для разработчика компиляторов. Остальные могут десятилетия писать на C++ и никогда не задумываться о внутренностях delete. Если этого нельзя делать, какая разница почему. H>Можно. Если нет, объясните почему.
Стандарт требует удалять массивы с помощью delete[], а не delete. Возможно, это единственная причина.
Re[5]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, Kemsky, Вы писали:
K>Здравствуйте, Hasmik, Вы писали:
M>>>>1) Очень многие думают, что знают свое дело (например, С++), но на самом деле не знают. Выясняется двумя-тремя вопросами, например — почему нельзя удалять массив объектов оператором delete. Если отвечают, что только первый элемент удалится, то все ясно — человек не работал с принципиальными вещами.
K>>>Это может быть принципиальным только для разработчика компиляторов. Остальные могут десятилетия писать на C++ и никогда не задумываться о внутренностях delete. Если этого нельзя делать, какая разница почему. H>>Можно. Если нет, объясните почему.
K>Стандарт требует удалять массивы с помощью delete[], а не delete. Возможно, это единственная причина.
если ты удалишь массив интов через delete- ничего страшного, а если это будут объекты то не вызовутся правильно деструкторы и последствия будут в зависимости от того,что за объекты были: или ничего или утечёт память или вообще(_|_)
Re[6]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, Pyromancer, Вы писали:
P>если ты удалишь массив интов через delete- ничего страшного, а если это будут объекты то не вызовутся правильно деструкторы и последствия будут в зависимости от того,что за объекты были: или ничего или утечёт память или вообще(_|_)
Опять не понимаю. Деструкторы ведь вызываются для каждого объекта(при delete[].). Пример класса в студию, где происходит (_|_). Конечно, если в конструкторе new, а в деструкторе ничего, утечет, но это и при одиночном удалении произойдет.
Re[4]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, Hasmik, Вы писали:
H>Можно. Если нет, объясните почему.
Да таки нет, нельзя же!!! Механизмы выделения/удаления памяти для одного объекта и для массива объектов могут отличаться, и скорее всего отличаются. например к ним могут применяться разные механизмы выравнивания адресов, количество памяти выделенное/удаляемое оператором для одного объекта под десять объектов может отличатся от колличества памяти выделенного/удалённого оператором для массивов под массив из десяти объектов. ТАким образом применение "неподходящего" оператора может не просто не удалить чего-то там и превести к memory-leack а порсто перевести кучу в несогласованное состояние.
Я имею конкретный пример такой ситуации. Я использовал оператор delete[] для памяти ваыделенной ператором new, на VC++ 6.0. При чем (_!_) наступала совсем не сразу а через несколько часов работы.
Re[5]: Почему 10000 ищут работу и почти столько же ищут рабо
S>Да таки нет, нельзя же!!! Механизмы выделения/удаления памяти для одного объекта и для массива объектов могут отличаться, и скорее всего отличаются. например к ним могут применяться разные механизмы выравнивания адресов, количество памяти выделенное/удаляемое оператором для одного объекта под десять объектов может отличатся от колличества памяти выделенного/удалённого оператором для массивов под массив из десяти объектов. ТАким образом применение "неподходящего" оператора может не просто не удалить чего-то там и превести к memory-leack а порсто перевести кучу в несогласованное состояние.
Буду благодарен, если поравите меня, если я ошибаюсь
Re[6]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, Pyromancer, Вы писали:
P>если ты удалишь массив интов через delete- ничего страшного, а если это будут объекты то не вызовутся правильно деструкторы и последствия будут в зависимости от того,что за объекты были: или ничего или утечёт память или вообще(_|_)
Звучит правдоподобно. Хотя сомневаюсь, что все компиляторы не вызывают деструкторов в этом случае. Впрочем, как я уже говорил, для программиста данная информация ценности не представляет. Ведь задачи потерять кусок памяти или вообще(_|_) как таковой не стоит. Скорее, стоит обратная задача. А потому и вызывать delete вместо delete[] нет никакой необходимости.
Re[9]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, superman, Вы писали:
S>Здравствуйте, Hasmik, Вы писали:
H>>Можно. Если нет, объясните почему.
S>Да таки нет, нельзя же!!! Механизмы выделения/удаления памяти для одного объекта и для массива объектов могут отличаться, и скорее всего отличаются. например к ним могут применяться разные механизмы выравнивания адресов, количество памяти выделенное/удаляемое оператором для одного объекта под десять объектов может отличатся от колличества памяти выделенного/удалённого оператором для массивов под массив из десяти объектов. ТАким образом применение "неподходящего" оператора может не просто не удалить чего-то там и превести к memory-leack а порсто перевести кучу в несогласованное состояние.
S>Я имею конкретный пример такой ситуации. Я использовал оператор delete[] для памяти ваыделенной ператором new, на VC++ 6.0. При чем (_!_) наступала совсем не сразу а через несколько часов работы.
Это дефект VC++ 6.0. Нормальный компилятор не должен так поступать. А вопрос был по языку С++. А для выравнивания существуют прагмы.
Re[10]: Почему 10000 ищут работу и почти столько же ищут раб
Здравствуйте, superman, Вы писали:
S>Здравствуйте, Hasmik, Вы писали:
H>>Удаление массива оператором delete — это по определению delete[].
S>не понял? по какому такому определению? подтвердите пожалуста это утверждение документально
If the allocated type is an array type, the allocation function’s name is operator new[] and the deallocation function’s name isoperator delete[].
ISO/IEC 14882 5.3.4.8
Re[6]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, Hasmik, Вы писали:
H>Это дефект VC++ 6.0. Нормальный компилятор не должен так поступать. А вопрос был по языку С++. А для выравнивания существуют прагмы.
А что, для "нормальных" компиляторов отдельный стандарт существует?
Re[7]: Почему 10000 ищут работу и почти столько же ищут рабо
Здравствуйте, Kemsky, Вы писали:
K>Здравствуйте, Hasmik, Вы писали:
H>>Это дефект VC++ 6.0. Нормальный компилятор не должен так поступать. А вопрос был по языку С++. А для выравнивания существуют прагмы.
K>А что, для "нормальных" компиляторов отдельный стандарт существует?
Стандарт один, но VC++ 6.0 ему не соответствует.