Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Работа Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6] 7 8   вперед  Ctrl      все
 Re: Еще раз о тестовых заданиях  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8931
Eugene Gri

Уважаемый соискатель(такой-то), хочу выразить Вам признательность за Ваше внимание к нашей компании, по результатам последнего тура собескдования, коллегиальное голосование по Вашей кандидатуре не позволяет мне предложить Вам трудоустройство в нашей Компании. Извините нас, за потраченное Ваше время. Желаем Вам всех благ и увпехов.
HR - такая-то

Правда, никакого "коллегиального голосования" не было, т.е. это ровно такое же вранье - но закомплексованному соискателю должно быть приятно, да.
31 янв 18, 18:18    [21155395]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
tehKosh
Member

Откуда:
Сообщений: 105
а подойдет ли для этой задачи реализация и использование какого-нибудь варианта lock-free map?
31 янв 18, 20:03    [21155610]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 29596
Eugene Gri
alexeyvg
пропущено...
Они дали множеству людей тестовые задания, а потом выбрали из тех, кто его выполнил.
Т.е. они не выбирали по критерию "выполнивший задание лучше всех".
Это нормально, по другому и не бывает, это же не официальный тендер.

Понять, как они оценили решение, ну и вообще понять, как прошло собеседование, разумеется, полезно. Но тут уж как повезёт, либо скажут, либо не скажут.
Обычно не говорят, что бы оградить себя от негатива (вот и вы повели себя агрессивно, и вообще большинство людей тоже не будут благодарить и улыбаться). Поэтому кандидата, которому отказали, спихивают на младшую ХР, а она пых-пых придумывает причины, что бы побыстрее закончить разговор, и навсегда.

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

Тем более причину трудно сформулировать, и к тому же большинство (и вы тоже) не готовы не только к самопожертвованию, но и к принятию жертвы.
Т.е., проще говоря, вам пойдут навстречу, а вы человека размажете. И будет он ходить, весь такой опущенный, и думать "ну нафига я полез помогать, надо было сказать что то обтекаемое из стандартных ответов, он мне что, муж/брат?"
31 янв 18, 21:12    [21155727]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 29596
Eugene Gri
Да, конечно.

Уважаемый соискатель(такой-то), хочу выразить Вам признательность за Ваше внимание к нашей компании, по результатам последнего тура собескдования, коллегиальное голосование по Вашей кандидатуре не позволяет мне предложить Вам трудоустройство в нашей Компании. Извините нас, за потраченное Ваше время. Желаем Вам всех благ и увпехов.
HR - такая-то
Ой, так вам не нужно правдивого ответа? Нужно наврать квалифицированно, что бы после отказа вы ушли воодушевлённый, их бы нахваливали и давали их контакты?
Может, это они могут сделать из соображений выгоды, так сказать, ещё и наварить на кандидате, которому отказали, но с морально-этической стороны тут к ним никаких вопросов нет.
31 янв 18, 21:22    [21155744]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
ChronSQL
Member

Откуда:
Сообщений: 492
Eugene Gri
Передача и обработка содержимого каждого файла должна идти отдельным потоком. Пути к папкам входными файлами передаются в качестве параметров первого процесса. Канал взаимодействия между процессами может быть любым.
Не использовать сторонние (не MS библиотеки), предпочтительно использовать только WinAPI и STL.
Использовать только базовый С++ (не С++11 и пр.).

То что нельзя использовать C++11 показывает, что автора самого задания надо менять.
Как минимум, надо использовать C++11 - сохранять пары <8-байт,количество> в локальных для каждого потока std::unordered_map (C++11), и периодически делать пакетную синхронизацию - под std::mutex (C++11) через swap() отдавать в дополнительный поток заполненные локальные std::unordered_map и получать пустые, а дополнительный поток уже будет сливать все полученные локальные std::unordered_map в один глобальный, а затем очистит полученные локальные. (А можно эффективнее без std::mutex через atomic-cas менять индекс текущего локального unordered_map на свободный, но это долго объяснять)

tehKosh
а подойдет ли для этой задачи реализация и использование какого-нибудь варианта lock-free map?

Теоретически - можно, а точнее lock-free resizeable unordered map, т.к. его достаточно, он намного быстрее и намного меньше ест памяти, чем lock-free map (ordered). И не любой lock-free map является resizeable. Но если нельзя использовать C++11 и сторонние библиотеки (libcds - StripedMap / FeldmanHashMap или junction::ConcurrentMap_Leapfrog / Grampa), то самому делать lock-free unordered map на WINAPI atomic functions - это полное извращение. Но lock-free применяются, когда важна low-latency, т.е. соседнему потоку зачем-то срочно нужны данные из другого потока. А в данной задаче этого не требуется, здесь необходим high-throughput, а значит намного быстрее будет редкая пакетная синхронизация.
1 фев 18, 00:12    [21156112]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
Eugene Gri
Member

Откуда: Москва
Сообщений: 102
tehKosh
а подойдет ли для этой задачи реализация и использование какого-нибудь варианта lock-free map?


Нет! Использование lock-free map - это не по теме данной задачи, извините, но - мимо!
1 фев 18, 00:20    [21156121]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
Eugene Gri
Member

Откуда: Москва
Сообщений: 102
alexeyvg
Eugene Gri
пропущено...

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

Тем более причину трудно сформулировать, и к тому же большинство (и вы тоже) не готовы не только к самопожертвованию, но и к принятию жертвы.
Т.е., проще говоря, вам пойдут навстречу, а вы человека размажете. И будет он ходить, весь такой опущенный, и думать "ну нафига я полез помогать, надо было сказать что то обтекаемое из стандартных ответов, он мне что, муж/брат?"


Нет, Вы - не правы! Возможно Вас окружают только такие люди, меня-же нет, человек, готовый на жертвы никогда не станет переживать о них. Про профит - "дать меньше - получить больше", да - в этом есть ваша правда, я стараюсь дитанцироваться от таких людей, не всегда получается, но это не означает, что я смирюсь.
1 фев 18, 00:27    [21156134]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
Eugene Gri
Member

Откуда: Москва
Сообщений: 102
alexeyvg
Eugene Gri
Да, конечно.

Уважаемый соискатель(такой-то), хочу выразить Вам признательность за Ваше внимание к нашей компании, по результатам последнего тура собескдования, коллегиальное голосование по Вашей кандидатуре не позволяет мне предложить Вам трудоустройство в нашей Компании. Извините нас, за потраченное Ваше время. Желаем Вам всех благ и увпехов.
HR - такая-то
Ой, так вам не нужно правдивого ответа? Нужно наврать квалифицированно, что бы после отказа вы ушли воодушевлённый, их бы нахваливали и давали их контакты?
Может, это они могут сделать из соображений выгоды, так сказать, ещё и наварить на кандидате, которому отказали, но с морально-этической стороны тут к ним никаких вопросов нет.


И да и нет, одновременно. Нужно, по-возможности, в переговорах говорить правду, если не получается, то умело сохранить своё лицо, при этом не принизить оппонента, тем более не выглядеть глупо выдав диссонирующую информацию. "Наварить на кандидате" - ну уж это уже изощренный измышлизм, - фантастика :)
1 фев 18, 00:37    [21156153]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
Eugene Gri
Member

Откуда: Москва
Сообщений: 102
ChronSQL
Eugene Gri
Передача и обработка содержимого каждого файла должна идти отдельным потоком. Пути к папкам входными файлами передаются в качестве параметров первого процесса. Канал взаимодействия между процессами может быть любым.
Не использовать сторонние (не MS библиотеки), предпочтительно использовать только WinAPI и STL.
Использовать только базовый С++ (не С++11 и пр.).

То что нельзя использовать C++11 показывает, что автора самого задания надо менять.
Как минимум, надо использовать C++11 - сохранять пары <8-байт,количество> в локальных для каждого потока std::unordered_map (C++11), и периодически делать пакетную синхронизацию - под std::mutex (C++11) через swap() отдавать в дополнительный поток заполненные локальные std::unordered_map и получать пустые, а дополнительный поток уже будет сливать все полученные локальные std::unordered_map в один глобальный, а затем очистит полученные локальные. (А можно эффективнее без std::mutex через atomic-cas менять индекс текущего локального unordered_map на свободный, но это долго объяснять)

tehKosh
а подойдет ли для этой задачи реализация и использование какого-нибудь варианта lock-free map?

Теоретически - можно, а точнее lock-free resizeable unordered map, т.к. его достаточно, он намного быстрее и намного меньше ест памяти, чем lock-free map (ordered). И не любой lock-free map является resizeable. Но если нельзя использовать C++11 и сторонние библиотеки (libcds - StripedMap / FeldmanHashMap или junction::ConcurrentMap_Leapfrog / Grampa), то самому делать lock-free unordered map на WINAPI atomic functions - это полное извращение. Но lock-free применяются, когда важна low-latency, т.е. соседнему потоку зачем-то срочно нужны данные из другого потока. А в данной задаче этого не требуется, здесь необходим high-throughput, а значит намного быстрее будет редкая пакетная синхронизация.



Уважаемый, ChronSQL, доброй ночи!

Я рад!, рад увидеть то как Вы продемонстрировали эрудицию в lock-free, hashed-containers, CAS модных библиотек :) Да, Вы сами сказали, что применение данного подхода важно при low-latency требованиях, здесь же такого требования нет. Использование unordered_map даёт хорошую скорость при малом количестве коллизий, то есть в случае когда данных относительно немного, но когда коллизий хэш-функции уже много, то производительность поиска и вставки резко хуже обычного map!! О-ужас!
Хочу Вас отчасти разочаровать, применять или не применять unordered-map это всего лишь незначимая подробность в решении задачи. А Вот собирать локальные (в контексте Thread-a) статистики, а потом сливать их в общую - это дело, хорошее замечание.
1 фев 18, 01:06    [21156183]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
ChronSQL
Member

Откуда:
Сообщений: 492
Eugene Gri
ChronSQL
пропущено...

То что нельзя использовать C++11 показывает, что автора самого задания надо менять.
Как минимум, надо использовать C++11 - сохранять пары <8-байт,количество> в локальных для каждого потока std::unordered_map (C++11), и периодически делать пакетную синхронизацию - под std::mutex (C++11) через swap() отдавать в дополнительный поток заполненные локальные std::unordered_map и получать пустые, а дополнительный поток уже будет сливать все полученные локальные std::unordered_map в один глобальный, а затем очистит полученные локальные. (А можно эффективнее без std::mutex через atomic-cas менять индекс текущего локального unordered_map на свободный, но это долго объяснять)

пропущено...

Теоретически - можно, а точнее lock-free resizeable unordered map, т.к. его достаточно, он намного быстрее и намного меньше ест памяти, чем lock-free map (ordered). И не любой lock-free map является resizeable. Но если нельзя использовать C++11 и сторонние библиотеки (libcds - StripedMap / FeldmanHashMap или junction::ConcurrentMap_Leapfrog / Grampa), то самому делать lock-free unordered map на WINAPI atomic functions - это полное извращение. Но lock-free применяются, когда важна low-latency, т.е. соседнему потоку зачем-то срочно нужны данные из другого потока. А в данной задаче этого не требуется, здесь необходим high-throughput, а значит намного быстрее будет редкая пакетная синхронизация.



Уважаемый, ChronSQL, доброй ночи!

Я рад!, рад увидеть то как Вы продемонстрировали эрудицию в lock-free, hashed-containers, CAS модных библиотек :) Да, Вы сами сказали, что применение данного подхода важно при low-latency требованиях, здесь же такого требования нет. Использование unordered_map даёт хорошую скорость при малом количестве коллизий, то есть в случае когда данных относительно немного, но когда коллизий хэш-функции уже много, то производительность поиска и вставки резко хуже обычного map!! О-ужас!
Хочу Вас отчасти разочаровать, применять или не применять unordered-map это всего лишь незначимая подробность в решении задачи. А Вот собирать локальные (в контексте Thread-a) статистики, а потом сливать их в общую - это дело, хорошее замечание.

Это "О-ужас!" и "резко хуже обычного map!!" только у тех, кто совсем не знает об std::unordered_map, где можно заранее устанавливать необходимое большое количество букетов rehash(кол-во букетов). Или устанавливать max_load_factor(элементов в букете) и исходя из load factor резервировать букеты под заданное число элементов reserve(кол-во элементов).
Тут даже хэш-функцию менять не требуется, хотя и это можно.
	std::unordered_map<uint64_t, uint64_t> um(100000000);  // bucket_count = 100 000 000
	std::cout << "About 100 millions items with an incredibly low probability of collisions \n";
1 фев 18, 03:25    [21156247]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
Eugene Gri
Member

Откуда: Москва
Сообщений: 102
ChronSQL
Eugene Gri
пропущено...



Уважаемый, ChronSQL, доброй ночи!

Я рад!, рад увидеть то как Вы продемонстрировали эрудицию в lock-free, hashed-containers, CAS модных библиотек :) Да, Вы сами сказали, что применение данного подхода важно при low-latency требованиях, здесь же такого требования нет. Использование unordered_map даёт хорошую скорость при малом количестве коллизий, то есть в случае когда данных относительно немного, но когда коллизий хэш-функции уже много, то производительность поиска и вставки резко хуже обычного map!! О-ужас!
Хочу Вас отчасти разочаровать, применять или не применять unordered-map это всего лишь незначимая подробность в решении задачи. А Вот собирать локальные (в контексте Thread-a) статистики, а потом сливать их в общую - это дело, хорошее замечание.

Это "О-ужас!" и "резко хуже обычного map!!" только у тех, кто совсем не знает об std::unordered_map, где можно заранее устанавливать необходимое большое количество букетов rehash(кол-во букетов). Или устанавливать max_load_factor(элементов в букете) и исходя из load factor резервировать букеты под заданное число элементов reserve(кол-во элементов).
Тут даже хэш-функцию менять не требуется, хотя и это можно.
	std::unordered_map<uint64_t, uint64_t> um(100000000);  // bucket_count = 100 000 000
	std::cout << "About 100 millions items with an incredibly low probability of collisions \n";


Я и не сомневался, что Вы хорошо знаете об устройстве unordered_map, и даже, может лучше многих. Я не буду с Вами спорить но, думаю, что это тема для отдельного обсуждения. Я хочу сказать, что для данной задачи выбор между map и unordered_map не имеет решающего значения.
1 фев 18, 09:22    [21156496]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
tehKosh
Member

Откуда:
Сообщений: 105
ChronSQL, спасибо за коммент по lock-free варианту реализации
ChronSQL
Как минимум, надо использовать C++11 - сохранять пары <8-байт,количество> в локальных для каждого потока std::unordered_map (C++11), и периодически делать пакетную синхронизацию - под std::mutex (C++11) через swap() отдавать в дополнительный поток заполненные локальные std::unordered_map и получать пустые, а дополнительный поток уже будет сливать все полученные локальные std::unordered_map в один глобальный, а затем очистит полученные локальные. (А можно эффективнее без std::mutex через atomic-cas менять индекс текущего локального unordered_map на свободный, но это долго объяснять)

а можно сказать, что такая предложенная реализация по сути является вариантом map-reduce pattern?
1 фев 18, 16:20    [21158232]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
ChronSQL
Member

Откуда:
Сообщений: 492
tehKosh
ChronSQL, спасибо за коммент по lock-free варианту реализации
ChronSQL
Как минимум, надо использовать C++11 - сохранять пары <8-байт,количество> в локальных для каждого потока std::unordered_map (C++11), и периодически делать пакетную синхронизацию - под std::mutex (C++11) через swap() отдавать в дополнительный поток заполненные локальные std::unordered_map и получать пустые, а дополнительный поток уже будет сливать все полученные локальные std::unordered_map в один глобальный, а затем очистит полученные локальные. (А можно эффективнее без std::mutex через atomic-cas менять индекс текущего локального unordered_map на свободный, но это долго объяснять)

а можно сказать, что такая предложенная реализация по сути является вариантом map-reduce pattern?

Здесь точно есть подход: Batch-processing - передаем элементы пакетами, а не по одному
Но с натяжкой можно сказать, что есть подход: MapReduce - раздаем задачи и собираем предварительные результаты. Т.к. в классическом MapReduce от одного исполнителя передаются сразу все данные и только затем они сливаются с глобальными результатами, а в моем описании выше - от одного исполнителя многократно приходят части результатов.

https://en.wikipedia.org/wiki/MapReduce
It is inspired by the map and reduce functions commonly used in functional programming

https://en.wikipedia.org/wiki/Map_(higher-order_function)
In C++'s Standard Template Library, it is called std::transform

https://en.wikipedia.org/wiki/Fold_(higher-order_function)
C++ std::accumulate(begin, end, initval, func)

Классический MapReduce - это если задачу можно свести к коду std::transform + std::accumulate:

typedef std::unordered_map<uint64_t, uint64_t> map_t;
struct task_t {
  std::string filename;
  std::shared_ptr<map_t> result;
  std::shared_ptr<std::thread> thread;
};
std::vector<task_t> tasks;

// map
std::transform(tasks.begin(), tasks.end(), tasks.begin(), [](task_t t) -> task_t { 
  t.result = std::make_shared<map_t>();
  t.thread = std::make_shared<std::thread>([&](){ process_function(t.filename, t.result); }); 
  return t;
}); 

// reduce
map_t result_merged_map = 
    std::accumulate(tasks.begin(), tasks.end(), map_t(10000000), // 10 M buckets
    [](map_t map, task_t t) { 
    	t.thread->join(); 
    	return merge_maps(map, t.result); // map.merge(*t.result); C++17
    });
1 фев 18, 19:57    [21158835]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
ChronSQL
Member

Откуда:
Сообщений: 492
ChronSQL
t.thread = std::make_shared<std::thread>([&](){ process_function(t.filename, t.result); }); 

Тут конечно [=], а не [&].
1 фев 18, 20:17    [21158881]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
tehKosh
Member

Откуда:
Сообщений: 105
ChronSQL, спасибо за развернутый ответ.
1 фев 18, 22:56    [21159119]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34537
Eugene Gri
Не использовать сторонние (не MS библиотеки), предпочтительно использовать только WinAPI и STL.
Использовать только базовый С++ (не С++11 и пр.).

!


мнений тут двух быть не может...

Не С++11 ? Давай, до свидания...
6 фев 18, 03:36    [21168770]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34537
Eugene Gri,

ну и тут достаточно заморочно втаптывать это именно в таком виде..
неделю где-то...
я бы послал их в жопу
у тебя дела нет других?
6 фев 18, 03:39    [21168773]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
GuidanceMoralic
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 242
ChronSQL
ChronSQL
t.thread = std::make_shared<std::thread>([&](){ process_function(t.filename, t.result); }); 

Тут конечно [=], а не [&].

ChronSQL - клёвый чел, хотел бы с ним оказаться в одной команде)
6 фев 18, 14:09    [21169911]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
andreykaT
Member

Откуда:
Сообщений: 2431
и в очередной раз о тестовых заданиях которые занимают больше двух часов.. дали тз testbirds.de субъективно если нет окружения и линукса и понимания как с этим гамном обращаться, займёт это всё пару тройку дней с тестами и т.п. чтоб комфортно.

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

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

слили. и даже не сказали причины.

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

если что во вложении пдфка с их ТЗ вдруг кто захочет с ними поиметь дело да и просто интересно:

тз testbirds.de

https://cloud.mail.ru/public/75hi/fLn9UuTur

вкратце, надо делать вебсервис с трея ендпойнтами которые одна запускает вмку другая выдает статус вмки третья ее гасит.
21 ноя 18, 11:31    [21739812]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
alexpo1986
Member

Откуда: Я здесь, дабы помочь вам осознать степень вашего заблуждения
Сообщений: 1094
andreykaT
testbirds.de

https://cloud.mail.ru/public/75hi/fLn9UuTur

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


вроде как бы не космический корабль по мини ТЗ, особенно если они сами хотят что кандидат You may use third-party Java libraries (e.g. the libvirt Java bindings). С линухом и KVM если опыта нет, тут да, будут небольшие сложности.
21 ноя 18, 13:03    [21739969]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
scf
Member

Откуда:
Сообщений: 1482
andreykaT,

они решили, что вы и на работе будете использовать ту же аргументацию.
21 ноя 18, 13:17    [21739989]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
andreykaT
Member

Откуда:
Сообщений: 2431
scf
andreykaT,

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

возможно. ну ладно пару часов не жалко. а вот если они возможно что там себе еще решат а я потратил на них 3 дня то будет обиднее.
21 ноя 18, 13:41    [21740018]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
andreykaT
Member

Откуда:
Сообщений: 2431
alexpo1986
andreykaT
testbirds.de

https://cloud.mail.ru/public/75hi/fLn9UuTur

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


вроде как бы не космический корабль по мини ТЗ, особенно если они сами хотят что кандидат You may use third-party Java libraries (e.g. the libvirt Java bindings). С линухом и KVM если опыта нет, тут да, будут небольшие сложности.

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

ну это так, вдруг кому полезно будет. мне за 6000к минус налоги всё равно эта помойка неинтересна.
21 ноя 18, 13:43    [21740021]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
andreykaT
Member

Откуда:
Сообщений: 2431
scf
andreykaT,

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

вы забываете разницу между трудом за деньги и бесплатным трудом.
21 ноя 18, 13:44    [21740024]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о тестовых заданиях  [new]
scf
Member

Откуда:
Сообщений: 1482
andreykaT,

С одной стороны да, с другой - на практике качество работы слабо связано с оплатой. Большинство говорящих "мне не платят за то, чтобы я делал хорошо" будут делать плохо сколько им ни заплати.

Я бы вообще давал тестовое задание "напишите приложение с rest api, которое не делает ничего", т.к. даже пустое приложение со всем функционалом, нужным для прода, это уже немало кода.
21 ноя 18, 14:16    [21740080]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6] 7 8   вперед  Ctrl      все
Все форумы / Работа Ответить