Интересные обсуждения

темы заинтересовавшие velkin

Методика оценки программистом своих способностей

Titus Titus
Т.е. получить некоторый независимый объективный рейтинг, с помощью какого-нибудь интернет ресурса.
Что-нибудь быстрое и универсальное с т.зр. языка программирования.
Что-нибудь, типа kgs go – на котором люди играют в го, и каждый знает свой рейтинг относительного всего мирового сообщества игроков в го.

Есть масса соревновательных сайтов для программистов. Я их даже выписал. Кто-нибудь с ними знаком. Можете дать свое мнение? Или добавить свой вариант.

    Codeforces
    Hackerrank
    CodeJam
    Topcoder
    Spoj
    Codecup
    Techie Delight
    TechGig
    Kattis
    Hackerearth
    Interviewbit
    DoSelect for developers
    Codechef
    CodeGround
    UVa Online
    Timus

P.S.
Не знаю куда лучше этот топик в работу или в этюды для программистов.
antropolog
antropolog Как программисту объективно оценить свои способности?
19.08.2017 09:54
Здравствуйте, Titus, Вы писали:

T>Не знаю куда лучше этот топик в работу или в этюды для программистов.


только открытые проекты и общественный суд. Программирование сравни писательству здесь. Можно знать грамматику но не уметь писать связный и интересный текст. Также и знание алгоритмов (вышеприведённые сайты это про алгоритмы) вообще мало коррелирует с умением программировать, так же как и знание "паттернов" и всего прочего, что так часто спрашивают на собеседовании те, кто не умеет программировать. Если хочется научиться программировать нужно много программировать (писать код) и ещё больше смотреть что другие напрограммировали ( читать чужой код ).
Titus
Titus
19.08.2017 10:17
Здравствуйте, antropolog, Вы писали:
A>только открытые проекты и общественный суд. Программирование сравни писательству

С этим, конечно, сложно не согласиться.

A> Также и знание алгоритмов (вышеприведённые сайты это про алгоритмы) вообще мало коррелирует с умением программировать,


А вот здесь я бы поспорил. Не знание азов сказывается на качестве кода. Не умение делать простые преобразования кода — тоже.
Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.
С первой задачей справляются все, а со второй — каждый пятый. Какова вероятность, что этот самый каждый пятый окажется бесполезным программистом? И какова вероятность того, что не прошедшие тест 4/5 окажутся упущенными талантами, которые могли бы принести компании кучу профита?

A> так же как и знание "паттернов" и всего прочего, что так часто спрашивают на собеседовании те, кто не умеет программировать.


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

A> Если хочется научиться программировать нужно много программировать (писать код) и ещё больше смотреть что другие напрограммировали ( читать чужой код ).


Это точно полезные упражнения. Но люди разные, и как узнать свое место в списке программистов?
CoderMonkey
CoderMonkey
19.08.2017 03:51
Здравствуйте, Titus, Вы писали:

T>а потом без использования переменной с.


Нахрена? У этой идеи есть какая-то практическая цель, кроме выпендрежа?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Titus
Titus
19.08.2017 06:28
Здравствуйте, CoderMonkey, Вы писали:
CM>Нахрена? У этой идеи есть какая-то практическая цель, кроме выпендрежа?

Практическая цель — проверить, читал ли соискатель какие либо книжки по алгоритмам. Дело в том что эта задачка, хоть и простая, но требует изворотливости ума.
Однако отсутствие изворотливости ума может быть компенсирована начитанностью.
А если начитанности нет, то можно продемонстрировать сообразительность и смекалку.
CoderMonkey
CoderMonkey
19.08.2017 07:09
Здравствуйте, Titus, Вы писали:

T>Практическая цель — проверить, читал ли соискатель какие либо книжки по алгоритмам. Дело в том что эта задачка, хоть и простая, но требует изворотливости ума.

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

То есть, никакой цели кроме выпендрежа нет.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
prog123
prog123
19.08.2017 05:15
Здравствуйте, Titus, Вы писали:

T>Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.

T>С первой задачей справляются все, а со второй — каждый пятый. Какова вероятность, что этот самый каждый пятый окажется бесполезным программистом? И какова вероятность того, что не прошедшие тест 4/5 окажутся упущенными талантами, которые могли бы принести компании кучу профита?

4/5 не догадались в интернете посмотреть? Не, не верю
Titus
Titus
19.08.2017 06:21
Здравствуйте, prog123, Вы писали:
P>4/5 не догадались в интернете посмотреть? Не, не верю
У всех в руках была ручка и листок. И минуты 2 времени в присутствии представителей потенциального работодателя.
sergey2b
sergey2b
19.08.2017 06:27
Здравствуйте, Titus, Вы писали:

T>Здравствуйте, prog123, Вы писали:

P>>4/5 не догадались в интернете посмотреть? Не, не верю
T>У всех в руках была ручка и листок. И минуты 2 времени в присутствии представителей потенциального работодателя.

4/5 только начли ходить по собеседованиям или не читали K&R
к 10 собеседованию все ваши оторванные от реальности вопросы выучат
Titus
Titus
19.08.2017 06:34
Здравствуйте, sergey2b, Вы писали:
S>к 10 собеседованию все ваши оторванные от реальности вопросы выучат
К сожалению, к нам попадали в основном те (4/5), кто еще не прошел 10 собеседований. Или кому урок не впрок.
Т.е. да, к собеседованию надо готовиться.
Если человек умеет готовится к собеседованию, то есть надежда, что и промышленные задачи он будет решать старательно.
CoderMonkey
CoderMonkey
19.08.2017 07:10
Здравствуйте, Titus, Вы писали:

T>Т.е. да, к собеседованию надо готовиться.


... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
senglory
senglory
24.08.2017 12:33
T>Если человек умеет готовится к собеседованию, то есть надежда, что и промышленные задачи он будет решать старательно.

Чушь. Если он готовился к собеседованию, то и работа для него будет интересна ровно настолько, насколько поможет помочь пройти следующее собеседование.
prog123
prog123
20.08.2017 01:31
Здравствуйте, Titus, Вы писали:

T>Здравствуйте, prog123, Вы писали:

P>>4/5 не догадались в интернете посмотреть? Не, не верю
T>У всех в руках была ручка и листок. И минуты 2 времени в присутствии представителей потенциального работодателя.

Работать также будут, без интернета и только с листочком бумаги и ручкой? Не, надо все-таки ближе к реальности вопросы и тесты подбирать.
CreatorCray
CreatorCray
19.08.2017 09:39
Здравствуйте, Titus, Вы писали:

T>поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.

T>со второй — каждый пятый. Какова вероятность, что этот самый каждый пятый окажется бесполезным программистом?

Кстати довольно таки высока. Потому что в большинстве своём все эти выпендрёжи пректической пользы не имеют а код делают запутанным.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
koenig
koenig
20.08.2017 11:04
T>Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.
T>С первой задачей справляются все, а со второй — каждый пятый. Какова вероятность, что этот самый каждый пятый окажется бесполезным программистом? И какова вероятность того, что не прошедшие тест 4/5 окажутся упущенными талантами, которые могли бы принести компании кучу профита?

это неочевидная и легко заучиваемая вещь. с тем же успехом можете монетку кидать.
Hobbes
Hobbes
21.08.2017 02:28
Здравствуйте, Titus, Вы писали:

T>Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.

T>С первой задачей справляются все, а со второй — каждый пятый.

На каком языке пишем? Что известно про типы переменных a и b? И в чём проблема использовать переменную d для обмена, нам ведь по условию запрещено только переменную c использовать?

Ну а вообще на питоне:
a, b = b, a

Вуаля!
Titus
Titus
21.08.2017 07:22
Здравствуйте, Hobbes, Вы писали:

H>Ну а вообще на питоне:

a, b = b, a


Такой ответ у нас был. Улыбнуло, но засчитали. Хотя питон у нас не используется.
Titus
Titus
21.08.2017 07:23
но это офф-топ.
Тёмчик
Тёмчик
25.08.2017 12:48
Здравствуйте, Titus, Вы писали:

H>>Ну а вообще на питоне:

T>
T>a, b = b, a
T>


T>Такой ответ у нас был. Улыбнуло, но засчитали. Хотя питон у нас не используется.


xor-swap это элементарщина, не знать которую может разве что "программирую на ворде, экселе, нортоне". Если к вам приходят на собеседование настолько низкой квалификации соискатели- может что-то не так в описании вакансии, предлагаемой зп или процессе первичного отсева?
Питон используется во всех уважающих себя плюсных конторах для тестов.
mogadanez
mogadanez
17.09.2017 12:58
T>>А вот здесь я бы поспорил. Не знание азов сказывается на качестве кода. Не умение делать простые преобразования кода — тоже.
T>>Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования T>>переменной с.

Тё>xor-swap это элементарщина,


Вообще он не указал что числа. А если там строки?
senglory
senglory
24.08.2017 12:31
T>А вот здесь я бы поспорил. Не знание азов сказывается на качестве кода. Не умение делать простые преобразования кода — тоже.
T>Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.
T>С первой задачей справляются все, а со второй — каждый пятый.

А потрахаться в гамаке Вы их не просите? Так чтобы стоя и в лыжах горных. В чем профит таких задач — повыделываться на ровном месте? Случаев , когда такой своп надо делать таким виртуозным способом, в обычной энтерпрайзной жизни не найти.
aik
aik
25.08.2017 01:03
Здравствуйте, Titus, Вы писали:

T>Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.

T>С первой задачей справляются все, а со второй — каждый пятый. Какова вероятность, что этот самый каждый пятый окажется бесполезным программистом? И какова вероятность того, что не прошедшие тест 4/5 окажутся упущенными талантами, которые могли бы принести компании кучу профита?

Правильный ответ будет с xor'ами и обязательным вопросом "и часто вы так в коде делаете?", и тут уже интервьювер должен не оплошать

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

static uint64_t roundup_next_pow2(uint64_t n)
{
    uint32_t i;

    n--;
    for (i = 1; i < sizeof(n) * CHAR_BIT; i += i)
        n |= n >> i;

    return ++n;
}
Stanislav V. Zudin
Stanislav V. Zudin
25.08.2017 06:11
Здравствуйте, aik, Вы писали:

aik>Правильный ответ будет с xor'ами и обязательным вопросом "и часто вы так в коде делаете?", и тут уже интервьювер должен не оплошать


+1. Без этого вопроса собеседование, считай, не удалось

aik>Раз уж вы на кошках тренируетесь, спрашивайте кандидатов как округлить до следующий степени двойки и смотрите сколько человек напишут как ниже. А вот я на днях увидел такое и призадумался а не ещё бОльший ли я дурак, чем я думаю — мне бы в голову такое не пришло.


Мне бы тоже в голову не пришло, но я знаю про книжку "Hacker's Delight", куда и послал бы интервьюера.
Titus
Titus
25.08.2017 08:28
Здравствуйте, aik, Вы писали:
aik>Правильный ответ будет с xor'ами

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

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

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

aik>спрашивайте кандидатов как округлить до следующий степени двойки

Такой вопрос задавать неграмотно. Цель любого округления — сокращение числа разрядов (по определению).

Представленный тобой алгоритм точно число разрядов не сокращает, а скорее, наоборот, увеличивает, решает простую задачу поиска числа 2^k>n, но в какой-то уж очень извращенной форме.

Есть известная задача поиска ближайшей степени двойки к числу. Эта задача посложнее. Но решается довольно изящно взятием логарифма по основанию 2 и получением двух чисел с округлением к меньшему и к большему по модулю. Число 2^k или 2^(k+1) ближайшее к n и будет искомым ответом.

Но это все оффтоп.
koenig
koenig
26.08.2017 12:57
aik>>Правильный ответ будет с xor'ами

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


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

T>Вопрос, конечно, странный. Тесты на оценку общего развития обычно не привязаны к решению реальных задач в компании. Скорей всего, таким вопросом ты бы добавил себе минус. И задавать его имело бы смысл только в том случае, если бы ты уже решил, что зря тратишь свое и чужое время на это собеседование.

aik>>спрашивайте кандидатов как округлить до следующий степени двойки

T>Такой вопрос задавать неграмотно. Цель любого округления — сокращение числа разрядов (по определению).

T>Представленный тобой алгоритм точно число разрядов не сокращает, а скорее, наоборот, увеличивает, решает простую задачу поиска числа 2^k>n, но в какой-то уж очень извращенной форме.


Извините за такие вопросы, а вы в Москве? Можете хотя бы слегка приоткрыть завесу тайны над тем, в какой фирме работаете?
Titus
Titus
26.08.2017 09:06
Здравствуйте, koenig, Вы писали:
K>Извините за такие вопросы, а вы в Москве? Можете хотя бы слегка приоткрыть завесу тайны над тем, в какой фирме работаете?

Где я живу и работаю никак не связаны с темой топика. Если есть что предложить не по теме, но интересное — пишите в личку )
Это вроде работает.
Muxa
Muxa
28.08.2017 08:32
aik>
aik>static uint64_t roundup_next_pow2(uint64_t n)
aik>{
aik>    uint32_t i;

aik>    n--;
aik>    for (i = 1; i < sizeof(n) * CHAR_BIT; i += i)
aik>        n |= n >> i;

aik>    return ++n;
aik>}
aik>


Ух, шайтан!
miracle
miracle
28.08.2017 11:30
Здравствуйте, aik, Вы писали:

aik>Здравствуйте, Titus, Вы писали:


T>>Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.

T>>С первой задачей справляются все, а со второй — каждый пятый. Какова вероятность, что этот самый каждый пятый окажется бесполезным программистом? И какова вероятность того, что не прошедшие тест 4/5 окажутся упущенными талантами, которые могли бы принести компании кучу профита?

aik>Правильный ответ будет с xor'ами и обязательным вопросом "и часто вы так в коде делаете?", и тут уже интервьювер должен не оплошать


aik>Раз уж вы на кошках тренируетесь, спрашивайте кандидатов как округлить до следующий степени двойки и смотрите сколько человек напишут как ниже. А вот я на днях увидел такое и призадумался а не ещё бОльший ли я дурак, чем я думаю — мне бы в голову такое не пришло.


aik>
aik>static uint64_t roundup_next_pow2(uint64_t n)
aik>{
aik>    uint32_t i;

aik>    n--;
aik>    for (i = 1; i < sizeof(n) * CHAR_BIT; i += i)
aik>        n |= n >> i;

aik>    return ++n;
aik>}
aik>


А вот
i += i

разве не UB?
RussianFellow
RussianFellow
28.08.2017 08:20
Здравствуйте, Titus, Вы писали:

T>А вот здесь я бы поспорил. Не знание азов сказывается на качестве кода. Не умение делать простые преобразования кода — тоже.

T>Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.
T>С первой задачей справляются все, а со второй — каждый пятый.

Код на C++ :

asm push a;
a = b;
asm pop b;

Так, что ли?
miracle
miracle
28.08.2017 10:04
Здравствуйте, RussianFellow, Вы писали:

RF>Здравствуйте, Titus, Вы писали:


T>>А вот здесь я бы поспорил. Не знание азов сказывается на качестве кода. Не умение делать простые преобразования кода — тоже.

T>>Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.
T>>С первой задачей справляются все, а со второй — каждый пятый.

RF>Код на C++ :


RF>asm push a;

RF>a = b;
RF>asm pop b;

RF>Так, что ли?

или так:
std::tie(b,a) = [](int a, int b){ return std::make_tuple(a,b); } (a,b);
Titus
Titus
28.08.2017 07:41
Здравствуйте, miracle, Вы писали:

M>или так:

M>std::tie(b,a) = [](int a, int b){ return std::make_tuple(a,b); } (a,b);

Нет, не так. Для обмена ты создаешь новый объект кортеж (tuple), что еще ресурсозатратнее, чем просто переменная.

Чтобы здесь больше не спамили не в тему, предлагаю поупражняться вот тут http://rsdn.org/forum/etude/6887289.1
miracle
miracle
28.08.2017 11:00
Здравствуйте, Titus, Вы писали:

T>Здравствуйте, miracle, Вы писали:


M>>или так:

M>>std::tie(b,a) = [](int a, int b){ return std::make_tuple(a,b); } (a,b);

T>Нет, не так. Для обмена ты создаешь новый объект кортеж (tuple), что еще ресурсозатратнее, чем просто переменная.


T>Чтобы здесь больше не спамили не в тему, предлагаю поупражняться вот тут http://rsdn.org/forum/etude/6887289.1

однакож это не переменная а rvalue, если я не прав, киньте в меня камень. формально условие соблюдено
Skorodum
Skorodum
29.08.2017 07:46
Здравствуйте, Titus, Вы писали:

T>Здравствуйте, miracle, Вы писали:


M>>или так:

M>>std::tie(b,a) = [](int a, int b){ return std::make_tuple(a,b); } (a,b);

T>Нет, не так. Для обмена ты создаешь новый объект кортеж (tuple), что еще ресурсозатратнее, чем просто переменная.

Перечитайте еще раз свои условия и не меняйте их на ходу:

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

Переменной тут нет.
Titus
Titus
28.08.2017 07:25
Здравствуйте, RussianFellow, Вы писали:

RF>Здравствуйте, Titus, Вы писали:


T>>А вот здесь я бы поспорил. Не знание азов сказывается на качестве кода. Не умение делать простые преобразования кода — тоже.

T>>Например, задаю я на собеседовании такой вопрос: поменяйте местами значения переменных а и б сначала с использованием переменной с, а потом без использования переменной с.
T>>С первой задачей справляются все, а со второй — каждый пятый.

RF>Код на C++ :


RF>asm push a;

RF>a = b;
RF>asm pop b;

RF>Так, что ли?


Нет, не так. вместо переменной с в твоем коде используется стек.
Skorodum
Skorodum
29.08.2017 07:47
Здравствуйте, Titus, Вы писали:

T>Нет, не так. вместо переменной с в твоем коде используется стек.

Ну так надо научится формулировать задания корректно, чтобы не менять условия после выполнения задачи
aik
aik
29.08.2017 07:58
Здравствуйте, Skorodum, Вы писали:

T>>Нет, не так. вместо переменной с в твоем коде используется стек.

S>Ну так надо научится формулировать задания корректно, чтобы не менять условия после выполнения задачи

Тут фокус такой, что если тебя собеседуют именно такими вопросами, то от тебя ждут конкретных ответов — у интервьювера или кругозор не очень, или корпоративные правила не дают отойти от маршрута. Ты можешь быть прав что вопрос поставлен не корректно, но если там ждут конкретного ответа с xor'ами (именно он призван показать "общее развитие"), то предлагать прочие ответы, уклоняясь от того самого правильного-ожидаемого ответа, можно если тебе работа не нужна, а охота потроллить — что не возбраняется, просто надо понимать какова текущая цель
Skorodum
Skorodum
29.08.2017 08:18
Здравствуйте, aik, Вы писали:

aik>Тут фокус такой, что если тебя собеседуют именно такими вопросами, то от тебя ждут конкретных ответов — у интервьювера или кругозор не очень, или корпоративные правила не дают отойти от маршрута. Ты можешь быть прав что вопрос поставлен не корректно, но если там ждут конкретного ответа с xor'ами (именно он призван показать "общее развитие"), то предлагать прочие ответы, уклоняясь от того самого правильного-ожидаемого ответа, можно если тебе работа не нужна, а охота потроллить — что не возбраняется, просто надо понимать какова текущая цель

Текущая цель на собеседовании не только себя показать, но и людей посмотреть. Тут Titus показывают не способность признать, что его задание сформулировано не однозначно, что собеседуемый явно знает правильный ответ, но хочет подчеркнуть ошибку в формулировке задания. Это не критично, но все же минус при прочих равных.
В общем тут вспоминается Нильс Бор и измерение высоты здания с помощью барометра.
namespace
namespace Как программисту объективно оценить свои способности?
19.08.2017 10:02
T>Есть масса соревновательных сайтов для программистов. Я их даже выписал. Кто-нибудь с ними знаком. Можете дать свое мнение? Или добавить свой вариант.
Зашел как-то случайно на такой сайт, что-то там написал — мне выдало, что я лучше ~80%
Чего? Где?
Лучше среди кого? Сколько там студентов?, сколько школьников? сколько индусов без образования?
Я смысла в этом не увидел.
Сделали бы доску с исходниками самых эффективных решений — может быть(!) было бы интересно глянуть.
vsb
vsb Как программисту объективно оценить свои способности?
19.08.2017 10:09
Здравствуйте, Titus, Вы писали:

T>Т.е. получить некоторый независимый объективный рейтинг, с помощью какого-нибудь интернет ресурса.


Никак.

T>Что-нибудь быстрое и универсальное с т.зр. языка программирования.


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

T>Что-нибудь, типа kgs go – на котором люди играют в го, и каждый знает свой рейтинг относительного всего мирового сообщества игроков в го.


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

T>Есть масса соревновательных сайтов для программистов. Я их даже выписал. Кто-нибудь с ними знаком. Можете дать свое мнение? Или добавить свой вариант.


К промышленному программированию эти задачи отношения не имеют, это т.н. спортивное программирование.
Titus
Titus
19.08.2017 10:25
Здравствуйте, vsb, Вы писали:

T>>Что-нибудь быстрое и универсальное с т.зр. языка программирования.

vsb>Что значит "с точки зрения языка программирования"?

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

vsb>Программирование это слишком многогранная деятельность, чтобы её можно было оценить с помощью одного индикатора.


Можно и по граням.

vsb>К промышленному программированию эти задачи отношения не имеют, это т.н. спортивное программирование.


Видел я как-то в промышленном решении алгоритм вычисления себестоимости товара по фифо. Разбирал его где-то час.
И в результате был восхищен.
До этого видел (да и сам и писал) тольок варианты написания этого алгоритма "в лоб".
Кстати, найти этот алгоритм в интернетах не могу.
MozgC
MozgC Как программисту объективно оценить свои способности?
19.08.2017 08:56
Здравствуйте, Titus, Вы писали:

T>Что-нибудь быстрое и универсальное с т.зр. языка программирования.


Быстрого и универсального не бывает в таком вопросе. Из долгого — собеседования (например если в каждой второй компании делают оффер — очень хороший показатель), участие на форумах (где через некоторое время можно оценить количество плюсиков или оценок) и в open-source проектах с code review (т.е. где другие участники проекта смогу сделать замечания и по замечаниям возможно будет понятно что все хорошо или не очень . Еще насколько заказчик доволен качеством работы (сроками часто недовольны даже если ты хороший программист, зачастую хотят все завтра) + количество всплывших багов после релиза.
С точки зрения языка программирования можно пройти тест на каком-нибудь Brainbench, но это будет всего лишь знание языка и платформы. Можно круто знать язык и платформу, но при этом иметь проблемы с решением реальных бизнес-задач или писать такой говнокод, который потом только выкидывать.
Titus
Titus
19.08.2017 11:04
Здравствуйте, MozgC, Вы писали:
MC> Еще насколько заказчик доволен качеством работы

Референс с предыдущей работы — особенно, в области, где все друг друга знают, — бронебойный снаряд. И если референс положительный, то решение очевидно. В таких случаях собеседование идет с т.зр. переманивания.
Но такое бывает не всегда.
Тут речь идет о том, когда к тебе приходит, грубо говоря, "хрен с горы". Нужна какая-то объективная независимая и быстрая оценка.

Но мой то вопрос не со стороны работодателя. У каждого работодателя свои тараканы в голове свои соображения оценки потенциала соискателя.

Мой вопрос в том, как самому программисту оценить самого себя относительно других программистов. Желательно, чтобы эта оценка воспринималась потенциальным работодателем как более менее объективная.
senglory
senglory
24.08.2017 10:57
T>Мой вопрос в том, как самому программисту оценить самого себя относительно других программистов. Желательно, чтобы эта оценка воспринималась потенциальным работодателем как более менее объективная.

Буду циничен и правдив. Единственный объективный критерий оценки тут — это $$$$ в пейчеке.
Titus
Titus
25.08.2017 08:36
Здравствуйте, senglory, Вы писали:
S>Буду циничен и правдив. Единственный объективный критерий оценки тут — это $$$$ в пейчеке.

Таки да. Но представь, что ты себя чувствуешь недооцененным. И нашел местечко, где больше. Вот тут к диплому, опыту и прочим достижениям могла бы пригодиться оценка.
Например, на kattis.com твое место 500 из 30000. Что как бэ намекает, что ты имеешь способности повыше среднего по рынку.

Собственно, мой вопрос и заключается в том, у кого какое мнение.
И пока по теме мало кто чего написал.
Temnikov
Temnikov
29.08.2017 08:24
Здравствуйте, Titus, Вы писали:

T>Здравствуйте, senglory, Вы писали:

S>>Буду циничен и правдив. Единственный объективный критерий оценки тут — это $$$$ в пейчеке.

T>Таки да. Но представь, что ты себя чувствуешь недооцененным. И нашел местечко, где больше. Вот тут к диплому, опыту и прочим достижениям могла бы пригодиться оценка.

T>Например, на kattis.com твое место 500 из 30000. Что как бэ намекает, что ты имеешь способности повыше среднего по рынку.

а) Выборка мала
б) Качество выборки тоже не очень понятно.
в) Зарплата сильно от отрасли зависит. Перейдя из одной в другую разница может быть раза в 1,5 легко без изменения позиции.
Ночной Смотрящий
Здравствуйте, Titus, Вы писали:

Но представь, что ты себя чувствуешь неполноценным. И нашел местечко, где длиннее. Вот тут к диплому, опыту и прочим достижениям могла бы пригодиться оценка.
Например, на kattis.com твое место 500 из 30000. Что как бэ намекает, что ты имеешь способности повыше среднего, ЧСВ довольно.
Titus
Titus
02.09.2017 08:30
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Но представь, что ты себя чувствуешь неполноценным.

К психоаналитику

НС>ЧСВ довольно.


Еще раз (который раз), речь об объективной оценке. Т.е. той, которая будет оценена не тобой, а работодателем.
Список потенциальных работодателей можно найти на сайтах, указанных в топике.

Хотелось узнать об успешном опыте получения и использования объективных оценок.

К сожалению, пока удалось найти жалобы на то, что компании, предлагающие хорошие условия работы, требуйт пройти тесты на хакеррэнк.
Ночной Смотрящий
Здравствуйте, Titus, Вы писали:

НС>>Но представь, что ты себя чувствуешь неполноценным.

T>К психоаналитику

Сходи.
reversecode
reversecode
02.09.2017 09:16
Здравствуйте, Titus, Вы писали:

T>Еще раз (который раз), речь об объективной оценке. Т.е. той, которая будет оценена не тобой, а работодателем.


каждый работодатель создает свой критерий оценки

T>Список потенциальных работодателей можно найти на сайтах, указанных в топике.


там нет работодателей, максимум HR

T>Хотелось узнать об успешном опыте получения и использования объективных оценок.


абсурд

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


что такое хорошие условия ?
что это за компании ?
хакеррэнк тчк тема закрыта ?
okon
okon Как программисту объективно оценить свои способности?
20.08.2017 03:16
T>P.S.
T>Не знаю куда лучше этот топик в работу или в этюды для программистов.

Невозможно сравнить.
Допустим один всю жизнь писал на Delphi, другой процедуры на Oracle. Кто из них сколько баллов должен набрать как их сравнить ?
Titus
Titus
20.08.2017 06:39
Здравствуйте, okon, Вы писали:

O>Невозможно сравнить.

O>Допустим один всю жизнь писал на Delphi, другой процедуры на Oracle. Кто из них сколько баллов должен набрать как их сравнить ?

Мнение принято. Приведенные в топике ресурсы в основном языково-независимые.
P.S.
Тот, кто знает Дельфи, обычно, имеет богатый опыт написания скл запросов и хранимых процедур.
okon
okon
20.08.2017 02:37
Здравствуйте, Titus, Вы писали:

T>Здравствуйте, okon, Вы писали:


O>>Невозможно сравнить.

O>>Допустим один всю жизнь писал на Delphi, другой процедуры на Oracle. Кто из них сколько баллов должен набрать как их сравнить ?

T>Мнение принято. Приведенные в топике ресурсы в основном языково-независимые.


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

T>P.S.

T>Тот, кто знает Дельфи, обычно, имеет богатый опыт написания скл запросов и хранимых процедур.

Но не обязательно на Oracle, где специфика такова что если ее не знать скорее всего работать будет но не лучшим образом.
turbocode
turbocode Как программисту объективно оценить свои способности?
20.08.2017 10:30
Здравствуйте, Titus, Вы писали:

В программировании как и в спорте есть бегуны на короткую дистанцию и на марафон.
На собесах отбирают в основном программистов на короткую дистанцию в надежде что они и марафоны так же само хорошо бегают (что очень большая редкость).
Nuzhny
Nuzhny Как программисту объективно оценить свои способности?
21.08.2017 09:43
Здравствуйте, Titus, Вы писали:

T>Т.е. получить некоторый независимый объективный рейтинг, с помощью какого-нибудь интернет ресурса.


Тут как с процессорами: есть общий рейтинг по результатам бенчмарков, а есть сильные и слабые стороны в разных задачах, энергоэффективность, цена и т.д.
Для приёма на работу мне нравится смотреть участие в открытых проектах и прохождение тестов по языку: их можно пройти как самому, так и где-нибудь типа skilltech.ru. Можно примерно оценить способности кандидата.
Как у Брукса: подбирать более разностороннюю команду: чел по языку, по архитектуре, по алгоритмам, по оптимизации и т.д. Такие команды работают слаженно и продуктивно.
SaZ
SaZ Как программисту объективно оценить свои способности?
21.08.2017 11:45
Здравствуйте, Titus, Вы писали:


T>...


На просторах интернета видел так называемую матрицу компетентности программиста:
http://sijinjoseph.com/programmer-competency-matrix
https://dev.by/pages/programming_matrix
Vladek
Vladek Как программисту объективно оценить свои способности?
23.08.2017 08:07
Здравствуйте, Titus, Вы писали:


T>Т.е. получить некоторый независимый объективный рейтинг, с помощью какого-нибудь интернет ресурса.

T>Что-нибудь быстрое и универсальное с т.зр. языка программирования.

Давать читать свой код другим программистам. Если они его понимают — хорошо. А уже если они менять и дописывать его начинают — то вообще круто.
StatujaLeha
StatujaLeha
23.08.2017 09:19
Здравствуйте, Vladek, Вы писали:

V>Давать читать свой код другим программистам. Если они его понимают — хорошо. А уже если они менять и дописывать его начинают — то вообще круто.


А если после изменений и дописываний код еще и работает, то просто сказка!
Titus
Titus
25.08.2017 08:42
Здравствуйте, Vladek, Вы писали:
V>Давать читать свой код другим программистам.

Вот здесь форум программистов. Некоторые выкладывают свой код. Можешь дать ссылки на восхищенные отзывы?
Желательно, чтобы это была не благодарность за ответ на вопрос, а именно восхищение кодом.

В основном то, что я вижу, это беспредметные попытки глумления одних участников форума над другими.
CreatorCray
CreatorCray
25.08.2017 09:06
Здравствуйте, Titus, Вы писали:

T>В основном то, что я вижу, это беспредметные попытки глумления одних участников форума над другими.


"And you figure that's unnatural because...?" (C) Zoltan
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Titus
Titus
26.08.2017 06:15
Здравствуйте, CreatorCray, Вы писали:

T>>В основном то, что я вижу, это беспредметные попытки глумления одних участников форума над другими.

CC>"And you figure that's unnatural because...?" (C) Zoltan

Вполне естественно. Человек несовершенен. Об этом в Библии написано.
Просто не в тему.
Vladek
Vladek
26.08.2017 05:01
Здравствуйте, Titus, Вы писали:

T>Здравствуйте, Vladek, Вы писали:

V>>Давать читать свой код другим программистам.

T>Вот здесь форум программистов. Некоторые выкладывают свой код. Можешь дать ссылки на восхищенные отзывы?

T>Желательно, чтобы это была не благодарность за ответ на вопрос, а именно восхищение кодом.

Здесь мало кода, особенно в форумах. Надо в статьях искать, если авторы описывали и выкладывали какие-то проекты. Лучше идти на Github, CodeProject и тому подобные ресурсы.

T>В основном то, что я вижу, это беспредметные попытки глумления одних участников форума над другими.


Это их проблемы. Мнения растворяются в общем гуле, твой код остаётся.

Talk is cheap. Show me the source.


В условиях отсутствия благодарной аудитории остаётся сравнивать себя с самим собой. Стал мой код лучше того, что я писал пару лет назад или нет. Натыкаюсь я на одни и те же грабли или грабли становятся всё изощреннее и изощреннее. Растёт моя продуктивность или нет.
Titus
Titus
26.08.2017 09:31
Здравствуйте, Vladek, Вы писали:

V>В условиях отсутствия благодарной аудитории остаётся сравнивать себя с самим собой.


Это называется субъективная оценка. Вопрос все-таки об объективной оценке.

Искать благодарность от широкой публики — дело напрасное. И сама благодарность трудноизмерима. На первый взгляд, результаты измерений могут дать отрицательные результаты.
Windows занимает больше 90% рынка десктопных ОС, т.е. охватывает самую широкую публику.
И что? Ее называют Мастдаем.

Wikipedia приобрела статус общемирового справочника, занимает 6-е место по популярности сайтов в мире. Как-то на этом форуме я сообщил, что пожертвовал 1000 руб. на википедию.
Так меня "зачморили" за это. И никто не написал, что я сделал правильно.

В общем, на мой взгляд, поиск общественного признания — пустая трата времени. Общество деньги не платит. 90% ПО под линукс — гуано. И это объясняется тем, что большинство линуксоидов не привыкли платить.

Хотелось бы найти простой коэффициент относительной силы программиста, как рейтинг Эло в шахматах.
reversecode
reversecode Как программисту объективно оценить свои способности?
29.08.2017 08:32
Здравствуйте, Titus, Вы писали:

переведем в аналогию, как померятся П ?
выставить-показать их и померить

только вот не понятно зачем это в целом надо ?
Titus
Titus
29.08.2017 07:05
Здравствуйте, reversecode, Вы писали:

R>переведем в аналогию, как померятся П ?

R>только вот не понятно зачем это в целом надо ?

— Они будут на четвереньках ползать, а мы на них плевать!
— Зачем?
— Удовольствие получать.
— А какое в этом удовольствие?
— Молодой ещё…

reversecode
reversecode
29.08.2017 07:30
Здравствуйте, Titus, Вы писали:

T>Здравствуйте, reversecode, Вы писали:


R>>переведем в аналогию, как померятся П ?

R>>только вот не понятно зачем это в целом надо ?

T>

T>— Они будут на четвереньках ползать, а мы на них плевать!
T>— Зачем?
T>— Удовольствие получать.
T>— А какое в этом удовольствие?
T>— Молодой ещё…


что тема делает в разделе job ? и почему она не в humour ? если все это — "потехи ради"
Titus
Titus
30.08.2017 07:15
Здравствуйте, reversecode, Вы писали:
R>что тема делает в разделе job ? и почему она не в humour ? если все это — "потехи ради"

Тут есть и более ценные ветки, чем наша с тобой переписка.
reversecode
reversecode
30.08.2017 07:45
Здравствуйте, Titus, Вы писали:

T>Здравствуйте, reversecode, Вы писали:

R>>что тема делает в разделе job ? и почему она не в humour ? если все это — "потехи ради"

T>Тут есть и более ценные ветки, чем наша с тобой переписка.


вот именно, что тогда тема для флуда делает в этом разделе,флейма ради ?
и мы на ты не переходили, я вас не знаю


я ведь понятным языком намекнул вопрос — "для чего нужна эта объективная оценка ?"
в ответ вы не выше, не ниже, ни в теме толком не объяснили,
хотя в одной из веток все скатилось к собеседованиям и умением пользоваться булевой логикой xor
но ни знание, ни незнание ее, никак не поможет в оценке программиста

оценка может исходить от цели, как то
1) ищем программиста который знает на отлично весь стандарт с++, включая еще не вышедшие, остальному подучим на ходу
2) ищем программиста который владеет некоторой нужной нам технологией, знание языка достаточно что бы писать код
3) ищем программиста который знает-владеет отлично математикой, для реализации заумных алгоритмов с матлаба
4) итд
универсалов все в одном не бывает и универсальной оценки всем пунктам не придумать

вася и петя
где вася хреновый программист не знающий с++-11, но написавший с десяток известных игр на старом с++

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

кто из них круче ? как их оценивать ?
из сотни опрошенных 50 будет за петю, остальные 50 за васю

дальше намекать надеюсь не надо ?
Titus
Titus
31.08.2017 07:19
Здравствуйте, reversecode, Вы писали:

R>и мы на ты не переходили, я вас не знаю

Со времен 200Х rsdn.ru рекомендует обращатья на "ты", дабы участники обращением на "вы" не демонстрировали одновременно свою неграмотность и неуважение к собеседнику.

R>в ответ вы не выше, не ниже, ни в теме толком не объяснили,

- Алло! Это служба поддержки?
— Да.
— До меня не доходит ваше письмо!
— Попробуйте прочитать его еще раз



R>хотя в одной из веток все скатилось к собеседованиям и умением пользоваться булевой логикой xor


https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D1%81%D0%B2%D0%B0%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

R>вася и петя

R>из сотни опрошенных 50 будет за петю, остальные 50 за васю

Без всякого сомнения, в оценке Васи и Пети примут участие самые широкие массы высококвалифицированных ценителей искусства программирования.