Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.59 MB
Время: 0.04 c
3-1106583349
Вован_
2005-01-24 19:15
2005.02.20
Как сохранить изображение из .bmp в поле Graphic через TQuery?


1-1107775149
cad2206
2005-02-07 14:19
2005.02.20
Изображение из TChart a в TImage. КАК!?


3-1106230095
Lord Zmiy
2005-01-20 17:08
2005.02.20
странная ошибка


14-1106912109
Layner
2005-01-28 14:35
2005.02.20
вложении файла в письмо (INDY)


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский