Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

О профессионализме программиста   Найти похожие ветки 

 
KSergey ©   (2005-01-26 16:49) [0]

В разрезе ветки "тест при приеме на работу" в основной хотелось бы задать такой вопрос, давно меня мучающий.

Здесь часто слышно от признанных корифеев, что программист - это тот, кто знает базу, алгоритмы, умеет все это применить, а вот конкретная платформа/язык - типа не главное, можно быстренько все освоить и все такое, однако вот вопрос:

1. Сколько времени надо работать на конкретной платформе, чтобы ответить на вопросы ЮЗ?

2. Ведь приведенные тесты - именно по поводу приема на работу!

Вот мне и не понтно все же: или я путаю вакансии программиста и кодера или путаю что-то другое? Куда может строится человек, знающий круто базу, но не работавшей на конкретной платформе?

Может даже наберусь наглости, и спрошу персонально у ЮЗ (прошу не принимать за наезд и все такое)

Никто не ставит под сомнение отменое знание вами базы.
Вот Вы какой язык не знаете? На какой платформе? Ну положим C# (я просто для примера, не хочу обидеть!)

Очевидно, что тут и платформа своя, и язык с нюансами.
Безусловно, Вы освоите это довольно быстро.
Однако как быстро наберете мощь для прохождения теста аналогичного уровня? А как же тогда с работой?
Или я все же что-то путаете? Или в призывах "платформа -это мощь!" есть доля лукавства?

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

Только честно...


 
KSergey ©   (2005-01-26 16:51) [1]

"платформа -это мощь!" читать "база - это мощь!"


 
Nikolay M. ©   (2005-01-26 17:01) [2]


> Однако как быстро наберете мощь для прохождения теста аналогичного
> уровня? А как же тогда с работой?

А тебе шашечки или ехать?
Что важнее - уметь проходить тесты или конечный результат, за который, собственно, платят зарплату?


 
Александр Иванов ©   (2005-01-26 17:04) [3]

KSergey ©   (26.01.05 16:51) [1]
И потом не все тесты направлены на получение точного ответа, многие должны показать как человек будет искать ответ на вопрос.


 
jack128 ©   (2005-01-26 17:17) [4]

Nikolay M. ©   (26.01.05 17:01) [2]
конечный результат, за который, собственно, платят зарплату?

Если ты не пройдешь тест при приеме на работу, то до конечного реультата дело не дойдет ;-)


 
Игорь Шевченко ©   (2005-01-26 17:17) [5]


> Однако как быстро наберете мощь для прохождения теста аналогичного
> уровня? А как же тогда с работой?


Обычно работу ищут уже набрав мощь :)

С уважением,


 
Nikolay M. ©   (2005-01-26 18:04) [6]


> jack128 ©   (26.01.05 17:17) [4]
> конечный результат, за который, собственно, платят зарплату?
> Если ты не пройдешь тест при приеме на работу, то до конечного
> реультата дело не дойдет ;-)

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


 
Юрий Зотов ©   (2005-01-26 19:21) [7]

> KSergey ©   (26.01.05 16:49)  

Сначала надо бы пояснить. Да, мы используем у себя для соискателей такой тест (даже еще и покруче). И еще ни один человек полностью и точно на все вопросы не ответил. Максимальным был результат 60 баллов из 100 возможных (20 вопросов, каждый оценивается по 5-балльной системе).

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

У нас, как и везде, работают разные люди. Кто-то пишет ядро, кто-то - скрипты, кто-то - прикладной код и т.д. Для каждой из этих работ требуется разный уровень и знания в разных областях. И если соискатель набрал даже 10 баллов из 100, но мы видим, что он соответствует одной из имеющихся вакансий - милости просим.

Теперь попробую ответить на вопросы.

> Вот Вы какой язык не знаете? На какой платформе?

Очень многие на очень многих. Перечислять - места не хватит.
:о)

> Однако как быстро наберете мощь для прохождения теста
> аналогичного уровня?


Трудно сказать. Это очень сильно зависит от характера повседневной работы. Одно дело, когда большую часть времени занимаешься бумажками-писульками, другое - когда по 10 часов в день шпаришь на Асме, третье - когда то же самое на ЯВУ. И еще смотря что на этом ЯВУ делать приходится, насколько оно сложно.

Конкретно могу сказать вот что, а там уж судите сами. Доисторическую эпоху опускаю, начну с EC ЭВМ.

1. EC ЭВМ, OS 360 и PL/1 были освоены прмерно за полгода, на уровне практически свободного владения PL/1 и JCL (кто знает - тот поймет, хе-хе), работы с устройствами.

1. На ДВК-2М, RT11SJ и Fortran перепрыгнул за пару месяцев. Причем с языка на язык - просто сел и сразу начал писать, а 2 месяца понадобилось на освоение машины и системы на уровне их администрирования и разработки системных утилит для себя (гы... на Фортране, вот ей-богу).

2. На i86, DOS и Pascal перешел за пару недель. Наибольшее время заняло освоение непривычного языка и среды разработки. Еще через пару месяцев работал с прерываниями напрямую. Потом были еще и другие языки, но это уж потом.

3. На Win16, Delphi 1 и ООП перескочил тоже примерно за пару недель. Причем писать-то начал практически сразу, а время потребовалось, чтобы выйти на уровень грамотного написания компонентов, знания структуры DCL (так тогда VCL называлясь) и понимания, где и почему есть OnCreate. А где-то через месяц начал понимать и то, как работает сама IDE. WinAPI занял побольше времени, на более-менее приличный уровень вышел значительно позже.

4. С Win16 препрыгнул на Win32 примерно за столько же времени, сколько потребовалось на установку Windows 95 и Delphi 2.
:о)

Так что судите сами - помогает база, или мешает.

> А как же тогда с работой?

Как написано выше. Работа разная бывает. Никто же не поручит студенту сразу ядро писать, верно? А вот диалоговые формы - это другой вопрос, с этим он справится. И они тоже нужны.

> Или в призывах "платформа -это мощь!" есть доля лукавства?

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

> однако как на работу попасть?

Приходить и устраиваться. Далеко не всегда конторе нужен именно сильный программер, очень часто бывают нужны и средние. Это ведь еще и экономия - если нужен человек для сравнительно простой работу, то на фига ему больше платить-то?

А потом расти, уже по ходу пьесы.


 
KSergey ©   (2005-01-26 21:51) [8]

Хорошо, спасибо
Я получил ответ на вопрос.


 
KilkennyCat ©   (2005-01-26 22:28) [9]

Я ни разу не мог пройти подобные тесты. Тест Юрия Зотова я бы вообще не прошел. Но это вовсе не означает, что я не смог бы работать. Просто работа - это не олимпиада, всегда можно воспользоваться справочниками, советами и пр.
Работа и есть самый главный тест.


 
Юрий Зотов ©   (2005-01-26 22:45) [10]

> KilkennyCat ©   (26.01.05 22:28) [9]

> Работа и есть самый главный тест.

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

Кстати, человек, ответивший на 60% вопросов к нам так и не устроился. Никто и не спорил, что программер он достаточно сильный, но просто в тот момент у нас не было подходящей для него работы. А более простая не подошла уже ему, по зарплате.

В то же время, люди, ответившие на 20-30% вопросов, у нас работают, и со СВОИМИ задачами вполне справляются.


 
KilkennyCat ©   (2005-01-26 23:06) [11]


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


Ну и отсеить "бананоедов". Не без этого тоже ведь.

Хотя, формулировка стопроцентная, если допустить в "какая именно работа" предположение не только о работе в данной фирме.


 
Palladin ©   (2005-01-26 23:45) [12]


> Я получил ответ на вопрос.

Ты не получил ответ на вопрос. Ты прочитал мнение и впечатление от конкретного случая.


 
Piter ©   (2005-01-26 23:53) [13]

KilkennyCat ©   (26.01.05 22:28) [9]
Я ни разу не мог пройти подобные тесты. Тест Юрия Зотова я бы вообще не прошел


а чем отличается "не смог бы пройти" от "вообще бы не прошел"? :)


 
KilkennyCat ©   (2005-01-27 00:07) [14]


> Piter ©   (26.01.05 23:53) [13]


я не добавлял "смог" :)
тесты, которые я проходил были проще-с, я справлялся с 40-60 процентами... но все равно не 100%. В упомянутом же тесте я ничего не знаю :)


 
Piter ©   (2005-01-27 00:12) [15]

Palladin ©   (26.01.05 23:45) [12]
Ты не получил ответ на вопрос. Ты прочитал мнение и впечатление от конкретного случая


слушай, зачем ты пошел в программисы? По-моему, тебе надо было идти в философы :)

P.S. Ты сейчас прочитал чисто мое впечатление в конкрентном случае :)


 
Piter ©   (2005-01-27 00:32) [16]

KilkennyCat ©   (27.01.05 0:07) [14]
В упомянутом же тесте я ничего не знаю :)


ну-ну, даже я знаю :)

>Напишите пример перегрузки процедурыты

что, не напишешь? Правда, непонятно что имеется в виду, overload или override, но в общем без разницы. Если ты хоть минимально ООП знаешь - должен написать

try
Obj := TMyObject.Create;
...
finally
Obj.Free;
end;


вообще элементарно. Понятное дело, что try должен быть ПОСЛЕ конструктора. Ибо если в конструкторе возникло исключение - то объект считай не создан, а значит и освобождать нечего.

>Что такое объекты ядра?

неужели ты никогда не слышал о потоках и процессах? :)
А ведь это объекты ядра.
Да я думаю и о мьютексах слышал, о семафорах...

>Приводят ли вызовы функций LoadLibrary/FreeLibrary
>к загрузке DLL в ОЗУ или выгрузке из ОЗУ?

ну тоже не особо сложный вопрос. Надо только знать, зачем вообще библиотеки придумали

>Написать стандартный код цикла выборки сообщений

ну блин, стандартный цикл то, типа:

while GetMessage(bla bla) do

неужели не видел?

>Написать модуль, содержащий класс, который
>позволяет создать лишь один свой экземпляр

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

Грамотно реализовать - наверное, не каждый сможет.


 
KilkennyCat ©   (2005-01-27 00:52) [17]


> Piter ©   (27.01.05 00:32) [16]


не поверишь, но большинство таких вещей я знаю как "стукни загогулиной по выпупоклине" :)

то есть, когда идет терминология, я ни хрена не соображаю. Пока не гляну в справочнике. Наверное, слишком долго сидел на символьном Искры-1256 :)


 
GuAV ©   (2005-01-27 01:21) [18]


> вообще элементарно. Понятное дело, что try должен быть
> ПОСЛЕ конструктора. Ибо если в конструкторе возникло
> исключение - то объект считай не создан, а значит и
> освобождать нечего.


Это не полный ответ.


> ну тоже не особо сложный вопрос. Надо только знать,
> зачем вообще библиотеки придумали


И всё же< приводят ли ? :)


> while GetMessage(bla bla) do


Ошибка уже здесь.


>>Написать модуль, содержащий класс, который
> >позволяет создать лишь один свой экземпляр


Лишь один - это на исп. модуль ? или на всю систему ?


 
jack128 ©   (2005-01-27 01:28) [19]

Piter ©   (27.01.05 0:32) [16]
неужели ты никогда не слышал о потоках и процессах? :)
А ведь это объекты ядра.
Да я думаю и о мьютексах слышал, о семафорах...

Ты не ответил на вопрос даже на троечку ;-) Ведь никто не просил приводить ПРИМЕРЫ объектов ядра. Просили объяснить что это такое. А вот такие вещи знает далеко не каждый..

Piter ©   (27.01.05 0:32) [16]
Напишите пример перегрузки процедурыты

что, не напишешь? Правда, непонятно что имеется в виду, overload или override, но в общем без разницы. Если ты хоть минимально ООП знаешь - должен написать
Ну этоо вообще на ноль баллов ;-)  Ибо не знаешь, что такое процедура ;-)

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


 
Gero ©   (2005-01-27 01:29) [20]


> Ибо если в конструкторе возникло исключение - то объект
> считай не создан, а значит и освобождать нечего.

Если в конструкторе возникнет исключение, то мы еще и AV получим в последствии…

> Грамотно реализовать - наверное, не каждый сможет.

Что значит грамотно и чем не устраивает решение с доп. переменной?


 
Gero ©   (2005-01-27 01:33) [21]


> для ответа на каждый из них нужно углубится в изучение соответствующего
> раздела программирования

И с перегрузкой тоже?

procedure a(n: integer); overload;
procedure a(s: string); overload;

...


 
jack128 ©   (2005-01-27 01:40) [22]

Gero ©   (27.01.05 1:33) [21]
И с перегрузкой тоже?


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


 
TUser ©   (2005-01-27 06:50) [23]


> Юрий Зотов ©   (26.01.05 19:21) [7]

Да вы настоящий полиглот ...
А если честно - вот этот тест он действительно, является свидетельством больших знаний? Я вот, например, процентов на 50 вопросов отвечу без справки, причем про 30 процентов - могу бить себя пяткой в грудь в уверенности, что я прав. Остальные 20 - скорее всего тоже не ошибся. Но мне еще ооочень далеко до того времени, когда я скажу, что я хороший программист.


 
Arm79 ©   (2005-01-27 10:34) [24]

TUser ©   (27.01.05 06:50) [23]

Тогда я вообще молчу в тряпочку...


 
TUser ©   (2005-01-27 11:09) [25]

Я еще при этом могу добавить, что вопросов на этом форуме, на которые я не знаю ответа, - море. И даже много таких, на которые я не могу сразу сказать, с какой стороны начинать копать.


 
GuAV ©   (2005-01-27 12:47) [26]


> Если в конструкторе возникнет исключение, то мы еще и
> AV получим в последствии…


Не факт. Может получим а может и нет.


 
Rule ©   (2005-01-27 13:18) [27]

Странно, но вот вопрос ЮЗ, когда у вас человек работает на своей должности, есть ли у него возможность расти професионально, тоесть устроился писать диалоговые окна студентов, а в процессе хода пьесы уже стал способным писать ядро ... для этого же он заново тестые не проходит, или это ввобще не реально ? (может у вас такой практики ещё не было ? )


 
CDF ©   (2005-01-27 13:38) [28]

А где можно посмотреть эти вопросы? Ужасно интересно :о)


 
KSergey ©   (2005-01-27 13:41) [29]

> [28] CDF ©   (27.01.05 13:38)

Конференция "основная", ветка "вопросы при приеме на работу"


 
CDF ©   (2005-01-27 13:42) [30]

Спасибо :)


 
Sergey_Masloff   (2005-01-27 13:50) [31]

Rule ©   (27.01.05 13:18) [27]
>Странно, но вот вопрос ЮЗ,
Да у меня возник тот же вопрос но с другой несколько колокольни. Мне интересен опыт "выращивания". При том что человек на "рисовании диалогов" загружен весь рабочий день (а иначе зачем он нужен?). Пока же у меня тупик. Вот я "куратор" у пары человек. Работают довольно долго уже, ребята толковые. Но не могу я им дать серьезное - как всегда дедлайн вчера и писать надо сразу и без права на ошибку. А "диалоги" сколько можно рисовать?
 Про диалоги конечно я утрирую но сейчас получается что я пишу основной кож и перепоручаю всякие вспомогательные вещи (проверяя потом). Но это же тупик?


 
Игорь Шевченко ©   (2005-01-27 13:58) [32]

Sergey_Masloff   (27.01.05 13:50) [31]


>  Мне интересен опыт "выращивания".


Наш не подойдет ? :)

С уважением,


 
KSergey ©   (2005-01-27 14:08) [33]

> [32] Игорь Шевченко ©   (27.01.05 13:58)
> Наш не подойдет ? :)

Мне - вполне ;)
С удовольствием бы послушал.


 
Sergey_Masloff   (2005-01-27 14:11) [34]

Игорь Шевченко ©   (27.01.05 13:58) [32]
 Я даже хотел упомянуть ;-) К сожалению, воспроизводимость
низкая. Наверное мои "кураторские" способности просто не блестящие...


 
Игорь Шевченко ©   (2005-01-27 14:21) [35]

KSergey ©   (27.01.05 14:08) [33]

Боюсь, что ездить далеко придется :)

Дел в том, что Сергей Маслов в курсе нашего опыта "выращивания и кураторства", если это можно так назвать. Отсюда и мой пост [32].

Хитростей и секретов никаких нету.

С уважением,


 
Piter ©   (2005-01-27 15:18) [36]

GuAV ©   (27.01.05 1:21) [18]
Это не полный ответ.


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

И всё же< приводят ли ? :)

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

Ну можно добавить, что в реальности библиотека, конечно, не выгружается - работает механизм кеширования.

Ошибка уже здесь.

и в чем же здесь ошибка?

Лишь один - это на исп. модуль ? или на всю систему ?

я думаю на модуль

jack128 ©   (27.01.05 1:28) [19]
Ты не ответил на вопрос даже на троечку ;-) Ведь никто не просил приводить ПРИМЕРЫ объектов ядра. Просили объяснить что это такое. А вот такие вещи знает далеко не каждый..


ну не надо. Возможно, ответ не очень корректен - так я уточню.
Я не могу дать определение, что такое объекты ядра. Этим пусть Рихтер занимается. Зато я знаю, что это такое, зачем нужны, как с ними работать.

jack128 ©   (27.01.05 1:28) [19]
Ну этоо вообще на ноль баллов ;-)  Ибо не знаешь, что такое процедура ;-)


да? Ну обосновывай, Жень, что я не знаю, а то обижусь.
И может ты расскажешь, что такое процедура?

Gero ©   (27.01.05 1:29) [20]
Что значит грамотно и чем не устраивает решение с доп. переменной?


ну смотря как ты это реализуешь. Вот напиши, как бы ты это сделал


 
Игорь Шевченко ©   (2005-01-27 15:30) [37]


> FreeLibrary приводит к выгрузке из памяти, если больше никто
> библиотеку не использует (счетчик ссылок оказался 0).
>
> Ну можно добавить, что в реальности библиотека, конечно,
> не выгружается - работает механизм кеширования.


Какой-какой механизм ?


 
Kerk ©   (2005-01-27 15:34) [38]

Piter ©   (27.01.05 15:18) [36]
Ну этоо вообще на ноль баллов ;-)  Ибо не знаешь, что такое процедура ;-)

да? Ну обосновывай, Жень, что я не знаю, а то обижусь.


имхо, процедуру с методом спутал


 
jack128 ©   (2005-01-27 15:41) [39]

Piter ©   (27.01.05 15:18) [36]
да? Ну обосновывай, Жень, что я не знаю, а то обижусь.

Пожалуйста,
Piter ©   (27.01.05 0:32) [16]
Правда, непонятно что имеется в виду, overload или override, но в общем без разницы


ЯЯ знаю, что это описка, не больше. Ты просто спутал процедуры и методы. (см [21]) Но это я, а вот будущий работодатель тебя не знает, потому может подумать, что ты вообще не видишь разницы между методом и процедурой.

Piter ©   (27.01.05 15:18) [36]
Зато я знаю, что это такое
Ты уверен?  Подумай, ведь не с проста все эти объекты называют объектами ядра, а например, окна объектом ядра не являются. Есть некий признак по которому однозначно определяется объект ядра это или нет. Исходный вопрос в том, что нужно назватьь этот признак..
зы Миш - это вовсе не наезд, наёюсь ты понимаешь?


 
Игорь Шевченко ©   (2005-01-27 15:42) [40]


> а например, окна объектом ядра не являются


LOL. Интересно, чьими объектами являются окна.


> Есть некий признак по которому однозначно определяется объект
> ядра это или нет


Было бы очень любопытно его услышать.



Страницы: 1 2 3 4 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.6 MB
Время: 0.052 c
4-1105169458
Unknown
2005-01-08 10:30
2005.02.20
WM_Paste не отслеживается


14-1107108541
SergP
2005-01-30 21:09
2005.02.20
Что за приколы с Дельфями?


1-1107790807
Алекс
2005-02-07 18:40
2005.02.20
Как программно нарисовать стрелку?


1-1107708424
focor
2005-02-06 19:47
2005.02.20
СЕРИЙНИК жесткого


1-1107847999
SergP.
2005-02-08 10:33
2005.02.20
SetSystemTime. Проблема с поясами...