Re[11]: Что вы всегда спрашиваете на собеседовании?
От: sergey2b ЮАР  
Дата: 12.06.19 05:09
Оценка:
Здравствуйте, kaa.python, Вы писали:

спасибо за ответ
Re[12]: Что вы всегда спрашиваете на собеседовании?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 12.06.19 05:32
Оценка: 6 (1)
Здравствуйте, sergey2b, Вы писали:

KP>>г) увеличивать твою стоимость (как минимум не уменьшать) в будущем.


S>б и в соблюденно

S>с г все фатально плохо

S>причем я понимаю что бы находить работу после 50 гадо быть специалистом в чем то необычном а не просто быть хорошим парнем


Я вот думаю, что неправильно расставил приоритеты в списке, так как "г" должно быть на самом первом месте как раз по причине того, что ты выше пишешь. Как по мне так если ты не "молодой специалист" то на такое соглашаться себе дороже в довольно скорой перспективе.
Re[8]: Что вы всегда спрашиваете на собеседовании?
От: % Австралия жж
Дата: 12.06.19 05:44
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>я утром расскажу но идея сперта из алгоритма agrep

Накидал Automaton? Заинтриговал.


S>мне еще не сделали оффер но уже понятно что хотят

S>на работе надо будет в том числе руководить небольой группой (правда я спросил сказали личной секретарши не будет)


S>с другой стороны сейчас много вакансий для системных программистов windows/linux с зарплатами 140-190

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

Imho это развилка. Управлять людьми непросто. Вся проблема, что легче самому сделать, чем дождаться чтоб сделали по требованиям. Своя сложная область.


S> одной стороны вот вроде бы нормальная работа

S>но с другой оффис небольой те обешния почти не будет
Общайся с подчиненными


S>и я ехал в америку не что бы работать в просто компании (так и в РФ можно) а заниматься системным программированием за которое дома почти не платят

Дрова писать? Разве в Долине это не нужно?
Re[9]: Что вы всегда спрашиваете на собеседовании?
От: a7d3  
Дата: 12.06.19 06:27
Оценка:
Здравствуйте, %, Вы писали:

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

CC>>Лучший вариант для современного оборудования это много запросов через async IO. А там пусть девайс сам смотрит что из этого он может выполнить в параллель.


%>Много- это сколько? Сколько ресурсов займут 1000 асинхронных чтений? Вот раньше, модно было рассуждать (м.б. у Руссиновича, или не у него), что completion API может в теории использовать DMA. Однако, где теория, а где драйвер FS.

Из скольки потоков эта тысяча запросов?
Если из одного треда, то будут просто в очереди драйвера пылиться, сейчас ведь все SATA поддерживают NCQ.

Помимо этого есть ещё SAS-диски, которые никто не отменял и старый добрый параллельный SCSI.
Не говоря уже о дисках подключаемых напрямую к PCH(бывший южный мост) несколькими PCIe линиями и разъём M.2.
А так же недавно появились всяких NVMe с разъёмом U.2, подключаемые напрямую к контроллеру памяти внутри ЦПУ.
Re[5]: Что вы всегда спрашиваете на собеседовании?
От: a7d3  
Дата: 12.06.19 06:39
Оценка: +1
Здравствуйте, sergey2b, Вы писали:

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


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


K>>>а как это сейчас делается?

CC>>полагаю что mmap.

S>как я понял некоторые про него не знают


Использование mmap в качестве ответа несколько некорректно.
Это не чтение, а отображение файла (с выделением адресов пространства виртуальной памяти, но без выделения страниц физической ОЗУ). Контент файла на считывается с диска и не загружается в память до тех пор, пока не пойдут запросы на чтение/изменение.

Т.е. при обращении к содержимому такого файла будет генерироваться прерывание page fault, чтобы подсистема виртуальной памяти таки выделила физическую страницу из ОЗУ, сопоставила её этому адресному пространству в памяти данного процесса (куда было обращение). И вот только после всего этого будет обращение к HDD/SSD за содержимым, которое вроде как должно таки лежать в данной странице памяти.
Re: Что вы всегда спрашиваете на собеседовании?
От: a7d3  
Дата: 12.06.19 06:55
Оценка: :)
Здравствуйте, scf, Вы писали:

scf>Вопрос к собеседующим.


scf>Какие навыки и знания, по вашему мнению, являются настолько важными в работе программиста, что вы всегда их спрашиваете на собеседованиях? Желательно с объяснением из личного опыта, почему именно так


scf>Мой список:

scf>- рекурсия (однажды видел сеньора, органически неспособного написать отформатированный toString для древовидной структуры в реальном проекте)
scf>- назовите структуры данных, которые вы знаете, с кратким описанием преимуществ и недостатков
scf>- описать словами решение простой практической задачи, например, посчитать кол-во слов в текстовом файле (отсекает квадратно-гнездовых фреймворщиков)

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

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

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

Всякие синьоры неспособные в рекурсию выявляются и отсеиваются в ходе испытательного срока, с этим проблемы нет.
Re[3]: Что вы всегда спрашиваете на собеседовании?
От: a7d3  
Дата: 12.06.19 07:00
Оценка: 3 (1) +1
Здравствуйте, sergey2b, Вы писали:

S>потому что на плюсах собеседования это сплошное писание кода на доске и пересказ стандарта, некоторые еще параметры функций спрашивают но я их нормально помню поэтому такие вопросы меня не выбешивают


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


Большинство вакансий открывается не просто так, а потому что где-то до руля дорвались идиоты и люди стали уходить.
Потому ходишь по интервью и в большинстве случаев, подавляющем, тебя собеседуют именно те самые идиоты, с которыми никто работать не хочет и от которых все разбегаются.
В любой приличной и крупной компании в любой момент времени найдётся два-три департамента, где до руля кто-то такой вот дорвался. Просто смотря на разные вакансии одной компании надо понимать, что за каждой из них стоит отдельная избушка со своими погремушками.
Re[9]: Что вы всегда спрашиваете на собеседовании?
От: TMU_1  
Дата: 12.06.19 07:58
Оценка: -1
S>> одной стороны вот вроде бы нормальная работа
S>>но с другой оффис небольой те обешния почти не будет
S>>и я ехал в америку не что бы работать в просто компании (так и в РФ можно) а заниматься системным программированием за которое дома почти не платят
KP>Мне часто иногда кажется, что ты толль




У меня в какой-то момент было подозрение, что Сергей и RussianFellow — одно лицо ))
Что-то такое неуловимое )
Re[10]: Что вы всегда спрашиваете на собеседовании?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 12.06.19 08:12
Оценка: 4 (1) +1
Здравствуйте, TMU_1, Вы писали:

TMU>У меня в какой-то момент было подозрение, что Сергей и RussianFellow — одно лицо ))

TMU>Что-то такое неуловимое )

Мне кажется, что сравнивать с RussianFellow – это уже фактически оскорбление
Re: [офтоп] а точно ли нужны эти вопросы
От: alzt  
Дата: 12.06.19 10:31
Оценка: -1
Здравствуйте, scf, Вы писали:

scf>Мой список:

scf>- рекурсия (однажды видел сеньора, органически неспособного написать отформатированный toString для древовидной структуры в реальном проекте)
А сеньёр-то хорош? Может это его единственный недостаток. Лично мне рекурсию писать легко, но в коде лучше использовать цикл, иначе неожиданно оказывается, что данные больше, чем ожидалось и привет стек офервлоу. И это не сайт, а проблема рекурсии.

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

scf>- назовите структуры данных, которые вы знаете, с кратким описанием преимуществ и недостатков

Мне кажется это хороший вопрос. Но я могу ошибаться.

scf>- описать словами решение простой практической задачи, например, посчитать кол-во слов в текстовом файле (отсекает квадратно-гнездовых фреймворщиков)

А вот это плохо подходит. Большинство задач либо рутинные, где не надо ничего придумывать, а только делать, либо сложные. А с чем проблема у алгоритмов с квадратичной сложностью? Если данных мало, то они работают хорошо. А если много, то и у рекурсивных алгоритмов начинаются проблемы, просто чуть попозже.
Re[2]: Что вы всегда спрашиваете на собеседовании?
От: alzt  
Дата: 12.06.19 10:42
Оценка:
Здравствуйте, Baudolino, Вы писали:

B>"в чем разница между хэшем в hashmap и хэшем в крипто"

А какой правильный ответ?
Re[3]: Хэши
От: Sharov Россия  
Дата: 12.06.19 14:57
Оценка: 2 (1) -1
Здравствуйте, alzt, Вы писали:

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


B>>"в чем разница между хэшем в hashmap и хэшем в крипто"

A>А какой правильный ответ?

У них совершенно разное предназначение — уникальная идентификация объекта, например для словаря, против проверки целостности, когда изменение 1 бита ведет к совершенно другому хэшу(целостность)+по известному хэшу найти исходные данные практически невозможно+желательно отсутствие коллизиий, что в первом случае не очень критично.
Кодом людям нужно помогать!
Re[5]: Словарь?
От: Sharov Россия  
Дата: 12.06.19 15:01
Оценка:
Здравствуйте, De-Bill, Вы писали:

S>>можешь словами описать как вытаскивать и сравнивать

DB>Наверное, что-то типа такого хотели:


Я бы через словарь решил, заполняя и подсчитывая эл-ты массивов, причем одинаковые эл-ты в одном масстве надо пропускать, т.е. считать ровно один раз. Или по памяти ограничение O(1)?
Кодом людям нужно помогать!
Re[5]: Что вы всегда спрашиваете на собеседовании?
От: sergey2b ЮАР  
Дата: 12.06.19 15:13
Оценка:
Здравствуйте, De-Bill, Вы писали:

я запилил примерно вот такой алгоритм

const char mask1 = 0x01;
const char mask2 = 0x02;
const char mask3 = 0x04;
const char maskEnd = 0x07;


char* arr1, char* arr2, char* arr3, size_t s_arr1, size_t s_arr2, size_t s_arr3

char code[256] = {0};


size_t maxIndex = std::max(s_arr1, s_arr2);
maxIndex = std::max(maxIndex, s_arr3);

for (size_t i = 0; i < maxIndex; i++) {
    if (i < s_arr1) { code[arr1[i]] != mask1; if (code[arr1[i]] == mask3) return  arr1[i]; }
    if (i < s_arr2) { code[arr2[i]] != mask2;  if (code[arr2[i]] == mask3) return  arr2[i]; }
    if (i < s_arr3) { code[arr3[i]] != mask3;  if (code[arr3[i]] == mask3) return  arr3[i]; }
}

return NOTFound;

char* arr1, char* arr2, char* arr3, size_t s_arr1, size_t s_arr2, size_t s_arr3

char code[256] = {0};


size_t maxIndex = std::max(s_arr1, s_arr2);
maxIndex = std::max(maxIndex, s_arr3);

for (size_t i = 0; i < maxIndex; i++) {
    if (i < s_arr1) { code[arr1[i]] != mask1; if (code[arr1[i]] == mask3) return  arr1[i]; }
    if (i < s_arr2) { code[arr2[i]] != mask2;  if (code[arr2[i]] == mask3) return  arr2[i]; }
    if (i < s_arr3) { code[arr3[i]] != mask3;  if (code[arr3[i]] == mask3) return  arr3[i]; }
}

return NOTFound;
Отредактировано 12.06.2019 15:15 sergey2b . Предыдущая версия .
Re[3]: Что вы всегда спрашиваете на собеседовании?
От: Masterspline  
Дата: 12.06.19 15:35
Оценка: 5 (1) -1
B>>"в чем разница между хэшем в hashmap и хэшем в крипто"
A>А какой правильный ответ?

Думаю, тут хотят услышать, что крипто хеширует необратимо, а для hashmap достаточно равномерного хеширования. Хотя, если данные контролирует пользователь, то полезно иметь защиту от подбора коллизий, через параметризацию, например, чтоб не вышел DOS через пожирание CPU уже на нескольких тысячах ключей (O(1) превращается в O(n) с хождением по списку и вымыванием кеша).
Re[4]: Хэши
От: alzt  
Дата: 12.06.19 20:33
Оценка:
Здравствуйте, Sharov, Вы писали:

B>>>"в чем разница между хэшем в hashmap и хэшем в крипто"


S>У них совершенно разное предназначение — уникальная идентификация объекта, например для словаря, против проверки целостности, когда изменение 1 бита ведет к совершенно другому хэшу(целостность)+по известному хэшу найти исходные данные практически невозможно+желательно отсутствие коллизиий, что в первом случае не очень критично.


Я не понял ответ. Всегда считал, что математическая хэш-функция обладает некоторыми свойствами, как
1. Хорошее распределение.
2. Плохая устойчивость, небольшие изменения, сильно её меняют.
3. Для входных данных любого размера длина хэша не отличается.
Может ещё что. И вроде бы хэш в hashmap всеми этими свойствами должен обладать.

А что за крипто хэш?
Я нагуглил, что есть какая-то криптографическая хэш-функция. Но опять же изменение 1 бита ожидаемо меняет значение нормальной хэш функции.
Re[4]: Что вы всегда спрашиваете на собеседовании?
От: alzt  
Дата: 12.06.19 20:35
Оценка:
Здравствуйте, Masterspline, Вы писали:

M>Думаю, тут хотят услышать, что крипто хеширует необратимо, а для hashmap достаточно равномерного хеширования. Хотя, если данные контролирует пользователь, то полезно иметь защиту от подбора коллизий, через параметризацию, например, чтоб не вышел DOS через пожирание CPU уже на нескольких тысячах ключей (O(1) превращается в O(n) с хождением по списку и вымыванием кеша).


Т.е. что-то специфическое, с чем большинство программистов не сталкивается?
Re[5]: Хэши
От: Sharov Россия  
Дата: 13.06.19 09:41
Оценка:
Здравствуйте, alzt, Вы писали:

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


B>>>>"в чем разница между хэшем в hashmap и хэшем в крипто"


S>>У них совершенно разное предназначение — уникальная идентификация объекта, например для словаря, против проверки целостности, когда изменение 1 бита ведет к совершенно другому хэшу(целостность)+по известному хэшу найти исходные данные практически невозможно+желательно отсутствие коллизиий, что в первом случае не очень критично.


A>Я не понял ответ. Всегда считал, что математическая хэш-функция обладает некоторыми свойствами, как

A>1. Хорошее распределение.
A>2. Плохая устойчивость, небольшие изменения, сильно её меняют.
A>3. Для входных данных любого размера длина хэша не отличается.
A>Может ещё что. И вроде бы хэш в hashmap всеми этими свойствами должен обладать.

A>А что за крипто хэш?

A>Я нагуглил, что есть какая-то криптографическая хэш-функция. Но опять же изменение 1 бита ожидаемо меняет значение нормальной хэш функции.

Вот тут подробнее для крипто хэша.

Большинство из этих требований для обычного хэша объекта ни к чему, там достаточно того, что два разных объекта имеют разный хэш, т.е. хорошее распределение. Иначе при использовании как ключа для словаря совсем будет туго.
Кодом людям нужно помогать!
Re[6]: Что вы всегда спрашиваете на собеседовании?
От: Lexey Россия  
Дата: 13.06.19 10:18
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>я запилил примерно вот такой алгоритм


Это ты написал вариант сортировки подсчетом. C ошибками и в ужасном стиле.
Ну и, если вместо char будет char32_t, то оно просто не будет работать в таком виде. Хотя, можно починить, заменив массив на хеш-таблицу.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[11]: Что вы всегда спрашиваете на собеседовании?
От: TMU_1  
Дата: 13.06.19 10:27
Оценка: -1
TMU>>У меня в какой-то момент было подозрение, что Сергей и RussianFellow — одно лицо ))
TMU>>Что-то такое неуловимое )
KP>Мне кажется, что сравнивать с RussianFellow – это уже фактически оскорбление



Был неправ, вспылил. Приношу Сергею извинения ))
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.