И снова тестовое задание...
От: scale_tone Норвегия https://scale-tone.github.io/
Дата: 13.11.10 23:07
Оценка:
Почему-то подумал я, что уж ради столь уважаемой здесь компании можно-таки поступиться принципами. И вот чего получилось.

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

Позиция: Senior C# Developer (Москва).
Задание: здесь
Мое решение: здесь
Мои комментарии, отправленные вместе с решением: здесь
Резюме специалиста, проверявшего задание (с большим трудом удалось извлечь): здесь

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

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

Всем спасибо за ответы!
Re: И снова тестовое задание...
От: scale_tone Норвегия https://scale-tone.github.io/
Дата: 13.11.10 23:24
Оценка:
Мой ответ на комментарии специалиста.

1. Синхронизации я так и не нашел, что, собственно, и удалось легко подтвердить, запустив многократно "Start
massive test in a separate thread", что привело к падению.
А параллельная работа с файловой системой — первое требование.


Параллельная работа с файловой системой реализована. Синхронизацию можно увидеть здесь:

    /// <summary>
    /// A facade for VirtualFS. Thread-safe.
    /// </summary>
    [Synchronization]
    public class FsDisk : ContextBoundObject, IDisposable
    {
        ...
    }

и здесь:
    /// <summary>
    /// A synchronized FileStream
    /// </summary>
    [Synchronization]
    internal class FsSyncFileStream : ContextBoundObject, IDisposable
    {
        ...
    }

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

Насколько я понял, "падение" возникало следующее:



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

UnauthorizedAccessException("The file is open");

которое ловится в вызывающем методе. Эта ситуация нормальна, и тест специально реализован таким образом, чтобы демонстрировать правильность работы в этом случае. Но Visual Studio по умолчанию всегда останавливает выполнение программы при этом исключении, независимо от того, обработано оно или нет. Чтобы этого не происходило, нужно либо убрать соответствующую галочку в окне Debug->Exceptions, либо не запускать тест под отладчиком.

В новом варианте по кнопке запускается не один, а сразу 10 потоков.

2. Жаль, что асинхронную активность нельзя прервать.


Реализовано в новом варианте. Текущий прогресс отображается в "статус-баре", а прервать операцию можно кнопкой Cancel. Обращаю внимание, что в исходном задании эта функциональность не значилась.

3. FsFileTable::CreateFolder зачем-то написана рекурсивно, хотя рекурсия легко сворачивается в цикл.


Согласен. Виноват. Переделано.

4. Само архитектурное решение сомнительно, но это как раз повод для очного разговора.


Ни в коем случае не претендую на максимальную производительность, а скорее претендую на золотую середину между производительностью и временными затратами на разработку. Буду рад обсудить все это при очном разговоре.
Re: И снова тестовое задание...
От: Oleg Kosenkov США http://files.rsdn.org/4543/rsdn.gif
Дата: 14.11.10 04:40
Оценка: 5 (3) +9
Здравствуйте, scale_tone, Вы писали:


_>Еще пара слов по поводу "архитектурного решения". Само собой, для максимальной производительности в реальной жизни следовало бы реализовать разбиение на блоки, таблицу этих блоков, дефрагментацию и еще много чего. Но я сделал так, как сделал, потому что:

_>
_>Всем спасибо за ответы!


Обходить такие интервью и тестовые задания стороной надо. Интервьюеры зажрались, это без сомнения.
Если тестовое задание требует больше 4 часов для выполнения — это уже не тестовое задание, и должно оплачиваться, так как это, бесспорно, чья-та оплачиваемая работа..
my $.02
Re: И снова тестовое задание...
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 14.11.10 06:39
Оценка:
  • Ты и в правду считаешь, что синхронизацию на уровне атомарности методов целого класса можно назвать хотя-бы удовлетворительным решением? У тебя по коду в результате сплошные блокировки, где надо и не надо.
  • А почему ты согласен с тем, что рекурсию можно и нужно свернуть в цикл?
  • Название компании-то выложи
  • Re: И снова тестовое задание...
    От: x64 Россия http://x64blog.name
    Дата: 14.11.10 10:20
    Оценка: 1 (1) +1
    Судя по всему, ты очень хочешь работать в этой компании. Учитывая твою способность мыслить самостоятельно, а также твою адекватность, — я бы взял. Интервьюер слегка подзажрался, да.
    JID: x64j@jabber.ru
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 14.11.10 11:04
    Оценка:
    Здравствуйте, kaa.python, Вы писали:

    KP>
  • Ты и в правду считаешь, что синхронизацию на уровне атомарности методов целого класса можно назвать хотя-бы удовлетворительным решением? У тебя по коду в результате сплошные блокировки, где надо и не надо.

    Глобально — нельзя назвать. В данном случае — это вполне себе решение. Тяжелых методов всего два: FsFileStream.Read() и FsFileStream.Write() — те, что физически общаются с диском. Позволить двум потокам параллельно писать в один и тот же физический файл не получится, хоть ты тресни. Позволить одному писать, а другому читать получилось бы, но в условии задачи сказано, что этого не требуется. Остается только делать Read()/Write() асинхронными, а для этого вводить блоки... ну т.е. делать файловую систему для Линукса. Ребята, это ж еще 100К кода!

    Все остальные методы делают простейшие операции с коллекциями в памяти. Их синхронизация заключалась бы в lock()-ах вокруг всего тела метода. Т.е. то же самое, что делает контекст синхронизации.
    Еще есть методы, возвращающие IEnumerable. Но они на то и возвращают IEnumerable, чтобы быть быстрыми и неблокирующими.

    KP>
  • А почему ты согласен с тем, что рекурсию можно и нужно свернуть в цикл?

    Потому что она там действительно тупо сворачивается:

            public void CreateFolder(string folderName, bool failIfExists)
            {
                var pathParts = SplitPathAndCheck(ref folderName);
    
                // checking parent folders
                string curFolder = InternalPathSeparatorString;
                for(int i = 2; i < pathParts.Length-1; i++)
                {
                    curFolder = curFolder + InternalPathSeparatorString + pathParts[i];
                    if(!FolderList.ContainsKey(curFolder))
                        FolderList.Add(curFolder, new FsInternalFolderInfo());
                }
    
                if 
                (
                    (!failIfExists)
                    &&
                    (FolderList.ContainsKey(folderName))
                )
                    return;
    
                FolderList.Add(folderName, new FsInternalFolderInfo());
            }



    KP>
  • Название компании-то выложи

    Выложу. Чуть попозже
  • Re: И снова тестовое задание...
    От: Miroff Россия  
    Дата: 14.11.10 11:19
    Оценка:
    Здравствуйте, scale_tone, Вы писали:

    _>Мои попытки сотворить новую файловую систему для Линукса в рамках выполнения тестового задания смотрелись бы ну очень забавно.


    Ну а зачем вообще было разрабатывать ФС с нуля? У M$, AFAIR, еще со времен COM есть structured storage. В задании ведь ни слова не сказано о том, что нельзя пользоваться стандартными средствами?
    Re[2]: И снова тестовое задание...
    От: BulatZiganshin  
    Дата: 14.11.10 12:33
    Оценка:
    Здравствуйте, Miroff, Вы писали:

    M>Ну а зачем вообще было разрабатывать ФС с нуля? У M$


    а принимать на работу будут тоже ms?
    Люди, я люблю вас! Будьте бдительны!!!
    Re[2]: И снова тестовое задание...
    От: microcod США www.tehnoromantik.net
    Дата: 14.11.10 12:47
    Оценка:
    Здравствуйте, Miroff, Вы писали:

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


    _>>Мои попытки сотворить новую файловую систему для Линукса в рамках выполнения тестового задания смотрелись бы ну очень забавно.


    M>Ну а зачем вообще было разрабатывать ФС с нуля? У M$, AFAIR, еще со времен COM есть structured storage. В задании ведь ни слова не сказано о том, что нельзя пользоваться стандартными средствами?


    Может они хотели увидеть нечто подобное:


      
       /// <summary>
       /// Диск ФС
       /// </summary>
        internal class Disk {
    
            /// <summary>
            /// Создаёт диск
            /// </summary>
            /// <param name="fileName">Файл в котором будет диск</param>
            /// <param name="lenght">Размер диска</param>
            internal Disk(String fileName,int lenght){}
    
            /// <summary>
            /// Предоставляет доступ к кластеру по номеру
            /// </summary>
            /// <param name="number">Номер кластера</param>
            /// <returns>Байты</returns>
            internal byte[] this[int number] { get;set;}
        }


    Я вообще-то тоже хотел это увидеть.

    Это низкий уровень. А на более высоком уровне уже интерфейс ФС с блокировкой на уровне файлов.
    Программа — мысли спрессованные в код.
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 14.11.10 15:15
    Оценка:
    Здравствуйте, Miroff, Вы писали:


    M>Ну а зачем вообще было разрабатывать ФС с нуля? У M$, AFAIR, еще со времен COM есть structured storage. В задании ведь ни слова не сказано о том, что нельзя пользоваться стандартными средствами?


    Ну блин, есть еще куча чего: SQL Server Compact, ADAM, MS Access, просто сериализация в .Net...
    И задача бы свелась к созданию GUI для базы данных
    Но мне почему-то показалось, что интервьюверы хотели бы увидеть немножко программирования.
    Впрочем, я уже не знаю, что интервьюверы хотели бы увидеть...
    Re[3]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 14.11.10 15:17
    Оценка:
    Здравствуйте, BulatZiganshin, Вы писали:


    BZ>а принимать на работу будут тоже ms?


    Нет, не MS. MS себе не позволяет такие тесты давать. Часа на два максимум.
    Re[3]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 14.11.10 15:19
    Оценка:
    Здравствуйте, microcod, Вы писали:

    M>Я вообще-то тоже хотел это увидеть.


    M>Это низкий уровень. А на более высоком уровне уже интерфейс ФС с блокировкой на уровне файлов.


    Да, наверно, хотели увидеть это. Только забыли в задании написать...
    Re[3]: И снова тестовое задание...
    От: Miroff Россия  
    Дата: 14.11.10 15:39
    Оценка: :)
    Здравствуйте, scale_tone, Вы писали:

    _>Ну блин, есть еще куча чего: SQL Server Compact, ADAM, MS Access, просто сериализация в .Net...

    И что из этого подходит на роль виртуальной ФС в одним файле?

    _>И задача бы свелась к созданию GUI для базы данных


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

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

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

    Есть три варианта.
    1) Интервьюер принципиальный велосипедист. Тогда он хочет увидеть полностью свой велосипед, желательно с гудком и фотографией красотки на руле.
    2) Интервьюер прагматик и хочет увидеть стандартное решение (structured storage).
    3) Интервьюер прагматик и хочет увидеть велосипед. Тогда structured storage его приятно удивит, потому что люди, не кидающиеся сразу же писать собственный велосипед довольно редки.

    Учитывая задачу и нишу C#, первый вариант выглядит маловероятеным.
    Re[3]: И снова тестовое задание...
    От: divergo  
    Дата: 14.11.10 16:04
    Оценка: +3
    _>Впрочем, я уже не знаю, что интервьюверы хотели бы увидеть...

    Дать человеку весьма объемное задание, увидеть по количеству кода, что потрачено немало времени на выполнение, при это все работает как и требовалось, и не пригласить на собеседование — верх неуважения.
    Или просто отсутствие нужных навыков.
    У Вас еще есть желание работать в этой компании, с этим человеком?

    А ведь тоже самое можно было написать проще.
    И асинхронный импорт/экспорт/что-там-еще от Вас не требовали.
    Вместо плоского FolderList я бы сделал дерево.
    Не думаю, что они хотели видеть работу с ФС на низком уровне, эдак рассуждая можно скатиться до блинов и головок, а не только учитывать сектора и кластеры.
    Re[4]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 14.11.10 22:00
    Оценка: +1
    Здравствуйте, Miroff, Вы писали:

    M>И что из этого подходит на роль виртуальной ФС в одним файле?


    Лучше всего подходит смонтированный ISO-image
    Чуть хуже SqlServerCE (один SDF-файл, внутрипроцессная DLL-ка и даже какая-никакая поддержка многопоточности).
    Дальше ADAM. Это сервис, и тормознутый, но зато поддержка иерархии есть.

    _>>И задача бы свелась к созданию GUI для базы данных


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


    Согласен. Буквально моими словами говорите.

    M>Есть три варианта.

    M>1) Интервьюер принципиальный велосипедист. Тогда он хочет увидеть полностью свой велосипед, желательно с гудком и фотографией красотки на руле.
    M>2) Интервьюер прагматик и хочет увидеть стандартное решение (structured storage).
    M>3) Интервьюер прагматик и хочет увидеть велосипед. Тогда structured storage его приятно удивит, потому что люди, не кидающиеся сразу же писать собственный велосипед довольно редки.

    M>Учитывая задачу и нишу C#, первый вариант выглядит маловероятеным.


    Я все-таки хочу лучше думать об интервьювере, так что скорее первый вариант
    Structured storage — это COM-овский фреймворк. Он даже (официально) не поддерживается в .Net, потому что вместо него есть сериализация. Интервьювер хотел увидеть массив массивов байт, периодически сериализуемый на диск?!!
    Re[4]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 14.11.10 22:21
    Оценка:
    D>Дать человеку весьма объемное задание, увидеть по количеству кода, что потрачено немало времени на выполнение, при это все работает как и требовалось, и не пригласить на собеседование — верх неуважения.
    D>Или просто отсутствие нужных навыков.
    D>У Вас еще есть желание работать в этой компании, с этим человеком?

    Как Вам сказать... Ощущение обтекания не из приятных, конечно. И с этим человеком работать нет желания. С другой стороны, я понимаю, что мне могло просто сильно не повезти. И в этой компании работает много хороших людей, в том числе модераторов этого форума.
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 14.11.10 22:27
    Оценка:
    Здравствуйте, Oleg Kosenkov, Вы писали:

    OK>Обходить такие интервью и тестовые задания стороной надо. Интервьюеры зажрались, это без сомнения.

    OK>Если тестовое задание требует больше 4 часов для выполнения — это уже не тестовое задание, и должно оплачиваться, так как это, бесспорно, чья-та оплачиваемая работа..

    Ну почему же? Если задание требует больше 4 часов, но при этом оплачивается вне зависимости от результатов — можно и поучаствовать. Так делают все компании в Европе (там, знаете ли, людей уважать принято). Я, например, так на свою первую работу попал
    Re[2]: И снова тестовое задание...
    От: dilmah США  
    Дата: 14.11.10 22:44
    Оценка:
    OK>Обходить такие интервью и тестовые задания стороной надо. Интервьюеры зажрались, это без сомнения.
    OK>Если тестовое задание требует больше 4 часов для выполнения — это уже не тестовое задание, и должно оплачиваться, так как это, бесспорно, чья-та оплачиваемая работа..

    ну почему. Оно может оплачиваться неявно, в виде последующей высокой зарплаты в случае оффера. Ну или интересных(TM) проектов(C).
    Ради посредственных условий конечно нет смысла тратить много усилий.
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 14.11.10 22:54
    Оценка: -1 :)))
    Здравствуйте, x64, Вы писали:

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


    Скорее, интервьюер просто устал. Столько кандидатов... Все чего-то хотят... Тут за день и скомпилировать-то все не успеешь, не то что сопроводительное письмо прочитать или в код глянуть
    Re[3]: И снова тестовое задание...
    От: x64 Россия http://x64blog.name
    Дата: 15.11.10 06:30
    Оценка:
    _>Скорее, интервьюер просто устал.

    Похоже, ты очень хочешь работать в этой компании. Даже как-то странно.
    JID: x64j@jabber.ru
    Re[5]: Никогда...
    От: Klatu  
    Дата: 15.11.10 06:53
    Оценка: 1 (1) +4
    Здравствуйте, scale_tone, Вы писали:

    _>И в этой компании работает много хороших людей, в том числе модераторов этого форума.


    никогда, никогда не суди о людях по общению через интернет.
    Re[4]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 15.11.10 09:34
    Оценка:
    Здравствуйте, x64, Вы писали:

    _>>Скорее, интервьюер просто устал.


    x64>Похоже, ты очень хочешь работать в этой компании. Даже как-то странно.


    Ну, я же иронизирую, это ж понятно
    Re: И снова тестовое задание...
    От: Aviator  
    Дата: 15.11.10 10:41
    Оценка: 11 (3) +4
    Здравствуйте, scale_tone, Вы писали:
    _>Всем спасибо за ответы!
    Жесть, я бы вас взял . Заелись интервьюверы, потом пишут в форумах что поток кандидатов какой-то низкий , никто не может даже файловую систему нормальную в качестве тестового задания реализовать.
    Re: И снова тестовое задание...
    От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
    Дата: 15.11.10 15:30
    Оценка:
    Здравствуйте, scale_tone, Вы писали:

    _>Мой ответ на резюме специалиста (выслал его вместе с доработанным вариантом решения) выложу отдельным постом. Надо ли говорить, что больше писем из уважаемой компании мне не поступало...


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

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

    То есть, "прошел верхом".

    Так что возможно что тебя просто забыли уведомить.
    Re[2]: И снова тестовое задание...
    От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
    Дата: 15.11.10 15:33
    Оценка:
    Здравствуйте, Aviator, Вы писали:

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


    А ты думаешь если чел реально крут то буквально все будут рады взять его к себе?

    Смешно.
    Re: И снова тестовое задание...
    От: NorthDragon Россия  
    Дата: 15.11.10 15:47
    Оценка: 1 (1) +1
    _>Всем спасибо за ответы!


    Так что за компания?
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 15.11.10 15:57
    Оценка:
    Здравствуйте, Ikemefula, Вы писали:

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


    Из ревью специалиста узнал

    I>Если люди видят, что человеку у них некуда развиваться, то как правило не берут.


    I>То есть, "прошел верхом".


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


    Уведомить забыли, да.
    Но я думаю, статус "overqualified" можно было бы определить еще на стадии чтения резюме и уж точно можно было бы определить на этапе телефонного интервью (после которого было выдано задание). Вряд ли люди стали бы тратить свое время на отправку и проверку, заранее зная результат — это было бы верхом глупости
    Re[3]: И снова тестовое задание...
    От: Aviator  
    Дата: 15.11.10 16:18
    Оценка:
    Здравствуйте, Ikemefula, Вы писали:
    I>А ты думаешь если чел реально крут то буквально все будут рады взять его к себе?
    Автор темы указал на то, что были придирки к качеству выполнения задания. Или фантазируем на ходу, чукча не читатель, чукча писатель?

    I>Смешно.

    Над собой смеёмся?
    Re[3]: И снова тестовое задание...
    От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
    Дата: 15.11.10 16:21
    Оценка:
    Здравствуйте, scale_tone, Вы писали:

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


    _>Из ревью специалиста узнал


    Может он сам послабее тебя будет, что с того ?

    _>Но я думаю, статус "overqualified" можно было бы определить еще на стадии чтения резюме и уж точно можно было бы определить на этапе телефонного интервью (после которого было выдано задание). Вряд ли люди стали бы тратить свое время на отправку и проверку, заранее зная результат — это было бы верхом глупости


    Верхний потолок пробить очень сложно. Это может сделать только человек, который на много тебя сильнее.
    Re[4]: И снова тестовое задание...
    От: Abalak США  
    Дата: 15.11.10 16:22
    Оценка: 1 (1) +3 :)))
    Здравствуйте, Miroff, Вы писали:

    M>Есть три варианта.

    M>1) Интервьюер принципиальный велосипедист. Тогда он хочет увидеть полностью свой велосипед, желательно с гудком и фотографией красотки на руле.
    M>2) Интервьюер прагматик и хочет увидеть стандартное решение (structured storage).
    M>3) Интервьюер прагматик и хочет увидеть велосипед. Тогда structured storage его приятно удивит, потому что люди, не кидающиеся сразу же писать собственный велосипед довольно редки.

    Пооффтоплю. Напомнило. В далеком году решил в довесок к своему инженерному образованию получить программерское второе высшее. Видя весь бред учебного процесса на некоторые курсы клал с прибором. Зачет по плюсам. Задание — написать простейший текстовый редактор на MFC (за одно это нужно уже ). Ну да ладно. Судя по невинным глазам девушки аспирантки, по совместительству преподши решил что мой финт пройдет — создаю стандартный MFC-шный проект с текстовым редактором, минут десять работы мышкой и клавишей Delete и из кода пропала ненужные там вещи — всякие пункты меню, упрощена работа с Doc-View и т.п., ну и переименовал немного классы. Показываю, у девушки легкий шок — это вы за час написали — ну мне-то зачет нужен, а не правда-матка — говорю да сам все сделал. Ну она ставит зачет и говорит, вот вы на лекции не ходили, а я показывала способ сделать простейший редактор на много быстрее, и демонстрирурует мне создание того самого шаблонного проекта. И добавляет — я большего и не требовала. Зачет. Занавес. Вот так вот блин учат в ведущих российских вузах.
    ... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
    Re: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 15.11.10 18:13
    Оценка:
    Итак, компания называется JetBrains. Вакансия вот
    Автор: Ната_лья
    Дата: 14.07.10
    .

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

    Другого способа передать привет у меня нет, т.к. у питерского офиса JetBrains нет телефона, свою почту г-жа проверяет (и, соответственно, отвечает), только если ее explicitly попросить об этом на МоемКруге, и с момента нелицеприятного отзыва специалиста г-жа заблокировала возможность отправлять ей сообщения.
    Re: И снова тестовое задание...
    От: sergey.p. Великобритания  
    Дата: 15.11.10 22:35
    Оценка: +2
    Здравствуйте, scale_tone, Вы писали:

    _>Позиция: Senior C# Developer (Москва).

    _>Задание: здесь
    _>Мое решение: здесьь, что больше писем из уважаемой компании мне не поступало...

    Ищите работу на западе, за такое тестовое задание Senior'а получите легко.
    В РФ очень много технарей и избалованные интервьюеры, в развитых же странах основная масса гуманитарии и технические люди на вес золота)
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 15.11.10 23:15
    Оценка:
    Здравствуйте, sergey.p., Вы писали:

    SP>Ищите работу на западе, за такое тестовое задание Senior'а получите легко.

    SP>В РФ очень много технарей и избалованные интервьюеры, в развитых же странах основная масса гуманитарии и технические люди на вес золота)

    Ищу... В Америку меня, правда, не тянет, а тянет больше всего в Скандинавию и чуть меньше в Ирландию с Англией.
    10 лет опыта. В основном, C++ и C#. Работал в немецкой конторе, работал в крупной международной конторе. Как говорится, conversational English.

    Не посоветуете конкретных вариантов? Ну, помимо JobServe.com...
    Re[3]: И снова тестовое задание...
    От: sergey.p. Великобритания  
    Дата: 15.11.10 23:56
    Оценка:
    Здравствуйте, scale_tone, Вы писали:

    _>Ищу... В Америку меня, правда, не тянет, а тянет больше всего в Скандинавию и чуть меньше в Ирландию с Англией.

    _>10 лет опыта. В основном, C++ и C#. Работал в немецкой конторе, работал в крупной международной конторе. Как говорится, conversational English.

    _>Не посоветуете конкретных вариантов? Ну, помимо JobServe.com...


    Смотрите в первую очередь конкретные компании по профилю, смотрите что за люди там работают (хотя бы в LinkedIn).
    Некоторые весьма интересные интервью я находил просто обращаясь к русскоговорящим сотрудникам (по блогам, форумам, да хотя бы поиск на RSDN по названию страны)
    Наибольший результат конечно приносили обращения к "друзьям друзей". Т.е. кто-то с кем я работал раньше или просто лично знаком знает кого-то, кто работает в данной компании.
    Поиск по компаниям в LinkedIn дает хоть какой-то список, по которому можно пройтись.
    Профильные ресурсы также полезны (типа RSDN для России )
    Когда больше находить компании не сможете, можно обратиться к рекрутерам, но по моему опыту они довольно бестолковы и практически не работают с людьми без визы.
    Re[4]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 16.11.10 09:25
    Оценка:
    Здравствуйте, sergey.p., Вы писали:

    SP>Смотрите в первую очередь конкретные компании по профилю, смотрите что за люди там работают (хотя бы в LinkedIn).

    SP>Некоторые весьма интересные интервью я находил просто обращаясь к русскоговорящим сотрудникам (по блогам, форумам, да хотя бы поиск на RSDN по названию страны)
    SP>Наибольший результат конечно приносили обращения к "друзьям друзей". Т.е. кто-то с кем я работал раньше или просто лично знаком знает кого-то, кто работает в данной компании.
    SP>Поиск по компаниям в LinkedIn дает хоть какой-то список, по которому можно пройтись.
    SP>Профильные ресурсы также полезны (типа RSDN для России )
    SP>Когда больше находить компании не сможете, можно обратиться к рекрутерам, но по моему опыту они довольно бестолковы и практически не работают с людьми без визы.

    Да, про LinkedIn я почему-то не подумал. Стоит попробовать, спасибо!
    Re[2]: И снова тестовое задание...
    От: Константин Лепешенков Норвегия https://scale-tone.github.io/
    Дата: 16.11.10 10:32
    Оценка:
    После этого моего поста г-жа Наталья мне перезвонила. Теперь у меня есть ее номер телефона, таким образом инцидент с отсутствием обратной связи можно считать исчерпанным. Со своей стороны прошу прощения за некоторую резкость.
    Re: компания JetBrains
    От: qxWork Голландия http://www.jetbrains.com/company/people/Coox_Sergey.html
    Дата: 16.11.10 10:36
    Оценка: -7 :))) :))) :)))
    Я принципиально не буду здесь как-либо вступать в полемику по поводу тестового задания, его выполнения и оценки — все это в приват.

    Просто хочу отметить несколько моментов.

    1. Компания базируется в Питере, людей мы набираем в московский офис, как следствие, мы стараемся провести первичный отбор максимальным образом удаленно, дабы приглашать в Питер на очное интервью только тех кандидатов, которым мы уже практически готовы сделать job offer (кстати, расходы мы оплачиваем). Именно поэтому схема следующая:

    а) телефонный разговор;
    б) тестовое задание. Достаточно объемное, чтобы можно было составить развернутое мнение. Лично я (по крайне мере я всегда так думал) не хочу делать тестовое задание (и ни разу не делал), но судя по тому, что отказывающихся я в последнее время не видел, сдается мне, что это я капризничаю;
    в) таки очное интервью.

    2. Я согласен с тем, что мы могли бы несколько быстрее реагировать на письма, однако ответ "тестовое задание получили, ждем ответа от специалиста", отправляем всегда, равно как и не скрываем телефонов — они определяются при звонке, и при желании их можно попросить.

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

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

    PS Наталья таки передает привет в дополнение к телефонному разговору
    PPS Если есть желание, я готов полемизировать о принципах приема на работу.
    Re[2]: компания JetBrains
    От: Nik_1 Россия  
    Дата: 16.11.10 11:07
    Оценка: 10 (2) +1 -1
    Здравствуйте, qxWork, Вы писали:
    W>PPS Если есть желание, я готов полемизировать о принципах приема на работу.
    Ну то что надо на собеседование кандидаду зачемто тащиться в питер, хотя набираете в мск, это какбы проблемы конторы а не кандидата Так что неоплачиваемое тестовое задание давать — это не хорошо.
    А с учетом того что нужен очень хороший спец на эту позицию — темболее нехорошо, так как такие какраз шарахаться от ТЗ будут. А как узнали что никто не отказывается? Т.е. все кому вы дали тестовое задание прислали его решение?
    Re[3]: компания JetBrains
    От: qxWork Голландия http://www.jetbrains.com/company/people/Coox_Sergey.html
    Дата: 16.11.10 14:26
    Оценка: -2
    Здравствуйте, Nik_1, Вы писали:

    W>>PPS Если есть желание, я готов полемизировать о принципах приема на работу.

    N_>Ну то что надо на собеседование кандидаду зачемто тащиться в питер, хотя набираете в мск, это какбы проблемы конторы а не кандидата Так что неоплачиваемое тестовое задание давать — это не хорошо.
    К сожалению, ездить за каждым кандидатом в Москву _очень_ неудобно (как минимум, нужно отправить туда несколько человек), а подобрать хотя бы 2-3 одновременно не получается. Поэтому приглашаем к себе, и как я уже заметил, тех, кто нам уже практически подходит.

    N_>А с учетом того что нужен очень хороший спец на эту позицию — темболее нехорошо, так как такие какраз шарахаться от ТЗ будут. А как узнали что никто не отказывается? Т.е. все кому вы дали тестовое задание прислали его решение?

    Именно так, более того, за последние 2 месяца ни один человек не сказал на телефонном интервью, что он не будет его делать.
    Re[2]: компания JetBrains
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 16.11.10 14:45
    Оценка: 18 (3) +2 :))) :)
    Здравствуйте, qxWork, Вы писали:

    W>б) тестовое задание. Достаточно объемное, чтобы можно было составить развернутое мнение. Лично я (по крайне мере я всегда так думал) не хочу делать тестовое задание (и ни разу не делал), но судя по тому, что отказывающихся я в последнее время не видел, сдается мне, что это я капризничаю;


    Прекрасно
    Уважаю Вашу позицию Т.е. Вас бы не взяли работать в JetBrains

    W>3. Я сегодня же переделаю текст тестового задания дабы более не возникало разночтений. Хотя, то как соискатель его трактует, это тоже показатель.


    Хотелось бы увидеть этот новый текст.
    Re[4]: компания JetBrains
    От: sux Земля  
    Дата: 16.11.10 15:13
    Оценка:
    Здравствуйте, qxWork, Вы писали:

    W>Именно так, более того, за последние 2 месяца ни один человек не сказал на телефонном интервью, что он не будет его делать.


    о ужас, сколько уже ищете? а скольких нашли?
    Re: Окончательные комментарии
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 16.11.10 15:20
    Оценка: 22 (8) +3
    Сегодня были получены окончательные комментарии от уважаемого специалиста к улучшенному варианту решения. Мои ответы:

    1. Синхронизация.
    Был неправ, она есть, но у меня к ней существенные претензии:
    а) я категорически против такого решения, ибо блокировки очень значительные, и мне лично очень не нравится, что такое решение рассматривается. Если бы изначально было написано, что синхронизация реализована неэффективно с такими-то целями, также рассматриваливась лучшие варианты (какие именно) — отношение к решению было бы лояльнее.


    Про эффективность/неэффективность решения я писал здесь
    Автор: scale_tone
    Дата: 14.11.10
    .
    Да, наверно, было бы неплохо, если бы в сопроводительном письме я описал другие варианты синхронизации.
    Но судя по комментариям
    Автор: scale_tone
    Дата: 14.11.10
    от уважаемого специалиста, сопроводительное письмо он все равно не читал, так что это нам бы не помогло.

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


    Есть такая штука — контекст синхронизации
    Автор(ы): Joseph Albahari
    Дата: 24.03.2007
    Подробно рассматривается работа с потоками — запуск, завершение, прерывание, блокировки, синхронизация, контексты синхронизации, особенности взаимодействия с апартаментами, а также потоковые возможности .NET — потоковые таймеры, пулы потоков, BackgroundWorker, асинхронные методы и делегаты.
    В статье использован материал из книги Joseph Albahari, Ben Albahari "C# 3.0 in a Nutshell" — http://www.oreilly.com/catalog/9780596527570/
    (кстати, обратите внимание на название раздела, где расположена статья). Экземпляры FsSyncFileStream создаются внутри экземпляра FsDisk и потому получают общий с ним контекст. В результате методы FsSyncFileStream.Write() даже разных экземпляров не работают параллельно в разных потоках. И не должны работать, потому что физический файл — один, и параллельная запись в него из разных потоков невозможна.

    2. Таки кнопка cancel всегда неактивна (как минимум, мне не удалось ее увидеть работающей). Что странно, ибо это именно то, что Вы переделывали.


    New VirtualFS...->(выбираем файл)->(вводим имя папки на диске)->Import physical folder...
    Кнопка Cancel раздизабливается, но, разумеется, только на время выполнения асинхронной операции.
    Уважаемый специалист вновь не захотел потратить немножко своего времени...

    4. Отсутвие unit-тестов удивляет — мне трудно понять, как без них можно заставить работать не самую тривиальную программу.


    Удивляет, что это удивляет уважаемого специалиста только сейчас. Хотя еще в сопроводительном письме к решению я упоминал, что готов их реализовать и предоставить, если потребуется. Уважаемый специалист не читал сопроводительного письма.
    Re[2]: В догонку
    От: Aviator  
    Дата: 16.11.10 16:03
    Оценка: +6
    Небольшой оффтоп

    _>

    _>4. Отсутвие unit-тестов удивляет — мне трудно понять, как без них можно заставить работать не самую тривиальную программу.


    Интересно, а не удивляет ли проводившего code review, как писали программы до появления библиотек юнит тестов. Хотя может программирование началось с релиза .NET и библиотеки NUnit...
    Re[2]: Окончательные комментарии
    От: gangof4  
    Дата: 16.11.10 17:19
    Оценка: 10 (2) +6
    Не поленился скачал, посмотрел.
    Для тестового задания более чем достаточно. Видно что человек нормально пишет код.
    Очень хотел бы посмотреть на тестовое задание такой же тематики, которое бы приняли.
    Наверное это уже готовый коробочный продукт.
    Re[3]: В догонку
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 17.11.10 09:11
    Оценка: :)
    Здравствуйте, Aviator, Вы писали:

    A>Интересно, а не удивляет ли проводившего code review, как писали программы до появления библиотек юнит тестов. Хотя может программирование началось с релиза .NET и библиотеки NUnit...


    Да хреново писали до юнит-тестов, с этим никто не спорит.
    Но, упомянув про юнит-тесты, уважаемый специалист зачем-то перевыполнил свой план: формально и наличия рекурсии в CreateFolder() ему было бы достаточно для отрицательного отзыва.
    Re[4]: В догонку
    От: Aviator  
    Дата: 17.11.10 10:00
    Оценка: +3
    Здравствуйте, scale_tone, Вы писали:

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


    A>>Интересно, а не удивляет ли проводившего code review, как писали программы до появления библиотек юнит тестов. Хотя может программирование началось с релиза .NET и библиотеки NUnit...


    _>Да хреново писали до юнит-тестов, с этим никто не спорит.

    Ага, linux и apache ужасно написаны, невозможно пользоваться, никакой стабильности работы, да? А как появились библиотеки для юнит тестирования, софт перешёл на новый уровень качества? Это я к тому, что мыслить надо не только шаблонами...
    Re[5]: В догонку
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 17.11.10 10:20
    Оценка: -1
    Здравствуйте, Aviator, Вы писали:

    _>>Да хреново писали до юнит-тестов, с этим никто не спорит.

    A>Ага, linux и apache ужасно написаны, невозможно пользоваться, никакой стабильности работы, да? А как появились библиотеки для юнит тестирования, софт перешёл на новый уровень качества? Это я к тому, что мыслить надо не только шаблонами...

    Согласен, что шаблонами мыслить нехорошо и не нужно.
    А плюсы/минусы юнит-тестирования — это, простите, немножко в другой, холиварный форум
    Re[6]: В догонку
    От: Aviator  
    Дата: 17.11.10 11:09
    Оценка: 9 (1) +11
    Здравствуйте, scale_tone, Вы писали:

    _>Согласен, что шаблонами мыслить нехорошо и не нужно.

    _>А плюсы/минусы юнит-тестирования — это, простите, немножко в другой, холиварный форум
    Не совсем, меня смутил юношеский максимализм во фразе
    4. Отсутвие unit-тестов удивляет — мне трудно понять, как без них можно заставить работать не самую тривиальную программу.
    Re[7]: В догонку
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 17.11.10 14:28
    Оценка: +2
    Здравствуйте, Aviator, Вы писали:

    A>Не совсем, меня смутил юношеский максимализм во фразе

    A>4. Отсутвие unit-тестов удивляет — мне трудно понять, как без них можно заставить работать не самую тривиальную программу.

    Аа, ну так фраза просто не несет в себе смысла. Автору просто нужно было что-то написать
    Re[2]: Окончательные комментарии
    От: Кодёнок  
    Дата: 18.11.10 13:16
    Оценка:
    Здравствуйте, scale_tone, Вы писали:

    _>б) не до конца понимаю, как все работает при условии, что файл записывается на диск и это требует его перемещения в конец таблицы, а в это время кто-то другой активно двигает файлы Я почти уверен, что работать не будет.


    Что значит — почти уверен? Проверил бы и точно знал. Что значит синхронизация не очень — в задании же к ней не было специальных требований? Мутный у них специалист какой-то.

    А тебе прямым текстом сказали, что не справился с заданием, или это твое заключение? Ни одно из его замечаний не указывает на серъезный недостаток.
    Re[3]: Окончательные комментарии
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 18.11.10 14:20
    Оценка: 9 (2) +2
    Здравствуйте, Кодёнок, Вы писали:

    Кё>Здравствуйте, scale_tone, Вы писали:


    Кё>Что значит — почти уверен? Проверил бы и точно знал. Что значит синхронизация не очень — в задании же к ней не было специальных требований? Мутный у них специалист какой-то.


    В задании не было специальных требований. Подразумевалось требование не использовать контексты синхронизации, потому что интервьюер не знает, что это такое. Но плохо не это (я тоже много чего не знаю), а то, что интервьюер упорствует в своем незнании: он не прочитал сопроводительное письмо, в котором о них написано, вообще не смотрел код и не стал читать статью
    Автор(ы): Joseph Albahari
    Дата: 24.03.2007
    Подробно рассматривается работа с потоками — запуск, завершение, прерывание, блокировки, синхронизация, контексты синхронизации, особенности взаимодействия с апартаментами, а также потоковые возможности .NET — потоковые таймеры, пулы потоков, BackgroundWorker, асинхронные методы и делегаты.
    В статье использован материал из книги Joseph Albahari, Ben Albahari "C# 3.0 in a Nutshell" — http://www.oreilly.com/catalog/9780596527570/
    из раздела "Основы". А еще удивительно, что человек не побоялся в своем упорном незнании публично признаться и вылез на форум.

    Кё>А тебе прямым текстом сказали, что не справился с заданием, или это твое заключение? Ни одно из его замечаний не указывает на серъезный недостаток.


    Ревью было выслано через 2 недели после отправки и только после того, как я попросил уведомить меня о результатах. Из ревью непосредственно никакие результаты не следовали, поэтому я переспросил, стоит ли продолжать взаимодействие (без ответа), а потом все-таки выслал вариант с отменой операций (тоже без ответа). Ответы (сразу же) поступили только после того, как я озвучил название компании. В тот же день поступил ревью
    Автор: scale_tone
    Дата: 16.11.10
    нового варианта и официальный отказ на его основании.
    Re[5]: И снова тестовое задание...
    От: Олег К.  
    Дата: 21.11.10 09:46
    Оценка:
    A>Вот так вот блин учат в ведущих российских вузах.
    Что за ВУЗ?
    Re[2]: компания JetBrains
    От: Олег К.  
    Дата: 21.11.10 10:16
    Оценка: +2
    W>4. Скорее всего, описание вакансии не очень хорошо сделано, ибо нам нужен не просто "не студент", а человек, который войдет в костяк команды, которая будет строиться в московском офисе, именно поэтому требования к выполнению задания у нас высокие (и возможно, извращенные).
    Смотри, своими действиями ты, возможно, заказал человеку вход в компанию навсегда. Вместе с тем, программисты не работают в вакууме и все решения обычно-таки обсуждаются и, возможно, что-то переписывается. Топик-стартер доказал что может думать и обсуждать и хочет работать у вас.

    Ты же упорствуешь в своей правоте. Может лучше все-таки пригласить человека на очное интервью? Это будет в плюс и тебе лично и компании. А то какая-то анти-реклама прямо.
    Re[2]: Они сами не знают, чего им надо
    От: пыщьх http://rsdn_user.livejournal.com
    Дата: 21.11.10 10:23
    Оценка: 28 (4)
    Здравствуйте, scale_tone, Вы писали:

    ИМХО, контора имеет всех необходимых людей и в фоновом режиме ищет "гения, способного выдать в 10 раз больший результат за миску досирака". Если они такого гения найдут (с вероятностью 1e-10, ага), то уволят кого-нибудь из штатных программистов и возьмут на его место гения (одна миска-то дешевле двух).

    Кстати, вполне типичное для российских контор явление, когда контора ищет "того, не знаю кого" и отсеивает народ по принципу "хи, что-то не впечатлил". Ибо ни бизнес-плана, ни четких требований к кандидату в конторе нет, а утилизировать рабочее время нанимателей как-то надо.
    Запретное обсуждение модерирования RSDN:
    http://rsdn-user.livejournal.com/652.html
    Re[3]: Они сами не знают, чего им надо
    От: Олег К.  
    Дата: 21.11.10 10:41
    Оценка: +1
    Я не думаю что это контора или фоновый режим. Скорее всего конкретные интервьюеры. Правда и интервьюируемые порой такие клоуны бывают.
    Re[7]: В догонку
    От: StandAlone  
    Дата: 21.11.10 13:12
    Оценка: 3 (1) +1
    Здравствуйте, Aviator, Вы писали:

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


    _>>Согласен, что шаблонами мыслить нехорошо и не нужно.

    _>>А плюсы/минусы юнит-тестирования — это, простите, немножко в другой, холиварный форум
    A>Не совсем, меня смутил юношеский максимализм во фразе
    A>4. Отсутвие unit-тестов удивляет — мне трудно понять, как без них можно заставить работать не самую тривиальную программу.\

    Надо полагать, это 26-летний PM ...
    Re: И снова тестовое задание...
    От: frogkiller Россия  
    Дата: 21.11.10 14:56
    Оценка:
    Здравствуйте, scale_tone, Вы писали:

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


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

    Но замечу, что насильно мил не будешь, а при оценке кандидата существенную роль играет впечатление ревьюера. Начиная с какого-то уровня, квалификация _разработчика_ становится уже не такой важной — процесс разработки в более-менее серьёзной компании довольно толерантен к тому, потратит он на какую-то фичу, к примеру, 3 часа самостоятельно или 5 часов и с обсуждением с коллегами в курилке и после чтения мануалов. Психологическое умение работать в команде значительно более важно, всё-таки программирование — это командный вид спорта. И именно ревьюеру придётся потом работать с кандидатом. Поэтому, даже если он сам более низкой квалификации, и явно неправ в своей оценке — что ж, такое тоже бывает — это часть реальности. Мнение ревьюера тут имеет гораздо большее значение, чем мнение кандидата. Разумеется, до определённого уровня — но явный неадекват не долго будет этим заниматься, люди вокруг всё же понимают, да и результаты не замедлят быть.
    Курица — это инструмент, с помощью которого одно яйцо производит другие.
    Re[2]: И снова тестовое задание...
    От: wety Россия  
    Дата: 21.11.10 15:40
    Оценка:
    Здравствуйте, Oleg Kosenkov, Вы писали:

    Хм. А по какой тарифной ставке должно оплачиваться? По однократной, двукратной или десятикратной? Ведь надо учесть, что для соискателя собеседование — это жуткий шок. Так? Так! Все "домашние задания", которые не оплачиваются ВООБЩЕ мы занесем в Уголовный Кодекс и будем рассматривать как ПРЯМОЕ нарушение прав человека, так? Или будем по-прежнему скулить на форумах о нарушениях прав человека?
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 21.11.10 20:12
    Оценка: 12 (5) +4
    Здравствуйте, frogkiller, Вы писали:

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


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

    Но попробую конкретизировать вопросы (и мои ответы на них), которые из всей истории вытекают и которые тут обсуждаются:

    1. Имеет ли право компания JetBrains не брать на работу кандидатов, которые ей просто не нравятся (не то число пробелов при форматировании, фотография в резюме не с той стороны, шнурки не в ту сторону завязывает...)? Да, конечно, имеет.
    2. Имеет ли право компания JetBrains давать кандидатам объемные неоплачиваемые тестовые задания? Да, конечно, имеет. Хоть толчки скрести имеет право заставлять до тех пор, пока кандидат не против.
    3. Имеет ли право компания JetBrains поверхностно подходить к изучению тестовых заданий кандидатов, т.е. тратить на ревью не более 2-х минут рабочего времени? Нет, не имеет, т.к. это уже прямое неуважение. Даже если я — сопливый джуниор, а интервьюер — академик и троекратный MVP, его рабочее время не может стоить в 20*60/2 = 600 раз больше моего. В два, в три, в десять раз больше может стоить, но не в 600.
    4. Имеют ли право потенциальные кандидаты на работу в компанию JetBrains знать, с каким по умолчанию неуважительным отношением им придется столкнуться при выполнении тестового задания? Да, имеют. Отсюда и этот пост.

    Ну и еще в процессе обсуждения внезапно вытекла забавная тема отношения сотрудников
    Автор: qxWork
    Дата: 16.11.10
    компании JetBrains к практике тестовых заданий И ведь никто человека за язык не тянул!..
    Re: И снова тестовое задание...
    От: MozgC США http://nightcoder.livejournal.com
    Дата: 21.11.10 21:05
    Оценка: 13 (3) +2
    Здравствуйте, scale_tone, Вы писали:

    _>Прошу уважаемое сообщество выдать свою оценку.


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

    Ну а так — вы не первый и не последний. Мне вот один раз человек после собеседования в РУССКУЮ компанию на позицию программиста написал, что мой английский слабоват — это при том, что я больше года жил и работал за границей в англоговорящих странах (включая США), где общался только на английском языке, а общаться приходилось много, и проблем совершенно не было.

    Так что неадекватов хватает, относитесь проще. Если вы хороший специалист, то при должной активности с вашей стороны вас обязательно оценят, не в этой, так в следующей компании. Удачи!
    Re[3]: Они сами не знают, чего им надо
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 21.11.10 21:09
    Оценка:
    Здравствуйте, пыщьх, Вы писали:

    П>Кстати, вполне типичное для российских контор явление, когда контора ищет "того, не знаю кого" и отсеивает народ по принципу "хи, что-то не впечатлил". Ибо ни бизнес-плана, ни четких требований к кандидату в конторе нет, а утилизировать рабочее время нанимателей как-то надо.


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

    Судя по мгновенной реакции на мой пост
    Автор: scale_tone
    Дата: 15.11.10
    , компанию заботит то, что о ней здесь думают, что хорошо.
    Re[3]: компания JetBrains
    От: пыщьх http://rsdn_user.livejournal.com
    Дата: 21.11.10 21:15
    Оценка: 9 (1) +2
    Здравствуйте, Олег К., Вы писали:

    ОК>Ты же упорствуешь в своей правоте. Может лучше все-таки пригласить человека на очное интервью? Это будет в плюс и тебе лично и компании. А то какая-то анти-реклама прямо.

    Соглашусь с Олегом. Человек показал умение думать, аргументированно спорить и отстаивать свою позицию, а не просто кодить "что хозяин закажет". ИМХО, полезный скилл.
    Запретное обсуждение модерирования RSDN:
    http://rsdn-user.livejournal.com/652.html
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 21.11.10 22:29
    Оценка: :)
    Здравствуйте, MozgC, Вы писали:

    MC>Ну а так — вы не первый и не последний. Мне вот один раз человек после собеседования в РУССКУЮ компанию на позицию программиста написал, что мой английский слабоват — это при том, что я больше года жил и работал за границей в англоговорящих странах (включая США), где общался только на английском языке, а общаться приходилось много, и проблем совершенно не было.


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

    MC>Так что неадекватов хватает, относитесь проще. Если вы хороший специалист, то при должной активности с вашей стороны вас обязательно оценят, не в этой, так в следующей компании. Удачи!


    Спасибо
    Re[3]: И снова тестовое задание...
    От: Ушастый Ёж Великобритания  
    Дата: 22.11.10 00:41
    Оценка: 9 (1) +1 :)
    JetBrains делает хорошие продукты и очевидно там не все так плохо, но конкретно этого интервьюера нужно отстранить от процесса набора сотрудников и принятия решений пожизненно.
    Re[4]: И снова тестовое задание...
    От: Кодёнок  
    Дата: 22.11.10 05:53
    Оценка: 1 (1) +2
    Здравствуйте, Ушастый Ёж, Вы писали:

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


    Если б тебя на каждой работе отстраняли пожизненно за первую серъезую ошибку, ты бы сейчас подаяние у супермаркета просил.
    Re[6]: И снова тестовое задание...
    От: Abalak США  
    Дата: 22.11.10 16:12
    Оценка: 1 (1)
    Здравствуйте, Олег К., Вы писали:

    A>>Вот так вот блин учат в ведущих российских вузах.

    ОК>Что за ВУЗ?

    Бауманка. Такое творилось повсеместно на втором высщем (все программы были полнейшей профанацией). На сколько знаю на первом высшем дела было получше, по крайней мере таких аспирантов не допускали вести занятие, хотя сам факт наличия этих аспирантов (не из ниоткуда же они взялись) уже говорит о качестве образования. Так как у меня и первое образование бауманское я точно знаю, что при игре по определенным правилам получить красный диплом там намного проще, чем реальной учебой.
    ... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
    Re[2]: И снова тестовое задание...
    От: notacat  
    Дата: 22.11.10 22:45
    Оценка:
    _>Итак, компания называется JetBrains. Вакансия вот
    Автор: Ната_лья
    Дата: 14.07.10
    .

    похоже вы не учли часть требований вакансии:

    умение объяснять свои архитектурные решения и убеждать в их правильности других людей

    знать-то не убедили
    Re[5]: И снова тестовое задание...
    От: Ушастый Ёж Великобритания  
    Дата: 23.11.10 00:48
    Оценка:
    Здравствуйте, Кодёнок, Вы писали:

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

    Кё>Если б тебя на каждой работе отстраняли пожизненно за первую серъезую ошибку, ты бы сейчас подаяние у супермаркета просил.

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

    P.S.: Я кстати на работе подписывал бумажку, что если зафакаплю продакшен то я уволен. Напоминалка об этом приходит каждые 3 месяца. Это к вопросу о серьезных ошибках. В данном же случае человека надо просто отстранить от второстепенной функции которую он выполнять не умеет и вряд ли уже научится, пусть спокойно код пишет и будет от него польза.
    Re[3]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 23.11.10 08:43
    Оценка:
    Здравствуйте, notacat, Вы писали:

    N>знать-то не убедили


    Трудно, однако, убеждать телепатическим лучом...
    Re[8]: В догонку
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 23.11.10 11:31
    Оценка:
    Здравствуйте, StandAlone, Вы писали:

    SA>Надо полагать, это 26-летний PM ...


    Нет, это 31-летний кандидат наук.
    Re: И снова тестовое задание...
    От: AleXXus Россия  
    Дата: 24.11.10 08:23
    Оценка: 1 (1) +1
    Здравствуйте, scale_tone, Вы писали:

    _>Почему-то подумал я, что уж ради столь уважаемой здесь компании можно-таки поступиться принципами. И вот чего получилось.


    <skipped>
    _>Всем спасибо за ответы!

    За последние года, это обсуждение дюже затронуло . Так, чтобы написать.

    Кратко с начала — я дико извиняюсь, но я бы ни за что не стал браться за такое тестовое задание. Мне мое время дороже. А если бы и сделал, то не реализацию, а только каркас возможно, интерфейсы и т.д. и т.п. Убивать 20 часов О_о ?! Почти три дня полных? Эээй, народ, неужели за последние годы все так поменялось?

    Это применительно к неоплачиваемым заданиям. С оплачиваемыми другая история. Это раз.

    Два, поддержу большинство. Соискатель мне показался более адекватным . На работу к себе взял бы . Глядя на его решение и письма — пусть решение не идеальное (но я полагал тестовое таковым на 100% и не должно быть), оно, как и полагается показывает все, что мне нужно было бы. То, как соискатель мыслит, как оформляет код, и т.д. и т.п. И уж наверняка это достаточный повод для очного общения.

    Сидеть и вылизывать решение до уровня коммерческого продукта? О_о Юнит тесты с покрытием всего и вся? Спасибо, всего хорошего

    scale_tone, я бы на вашем месте шерстил LinkedIn давно.
    ________________________________
    When in Rome, do as the Romans do...
    Re[4]: компания JetBrains
    От: Vzhyk  
    Дата: 24.11.10 10:03
    Оценка:
    21.11.2010 23:15, пыщьх пишет:
    > Соглашусь с Олегом. Человек показал умение думать, аргументированно
    > спорить и отстаивать свою позицию, а не просто кодить "что хозяин
    > закажет". ИМХО, полезный скилл.
    А с чего ты взял, что такой скил им нужен?
    Posted via RSDN NNTP Server 2.1 beta
    Re[5]: компания JetBrains
    От: Wissenschaftler http://rsdn_user.livejournal.com
    Дата: 24.11.10 11:55
    Оценка:
    Здравствуйте, Vzhyk, Вы писали:

    V>21.11.2010 23:15, пыщьх пишет:

    >> Соглашусь с Олегом. Человек показал умение думать, аргументированно
    >> спорить и отстаивать свою позицию, а не просто кодить "что хозяин
    >> закажет". ИМХО, полезный скилл.
    V>А с чего ты взял, что такой скил им нужен?
    Я предположил.
    Запретное обсуждение модерирования RSDN:
    http://rsdn-user.livejournal.com/652.html
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 24.11.10 12:18
    Оценка:
    Здравствуйте, AleXXus, Вы писали:

    AXX>Кратко с начала — я дико извиняюсь, но я бы ни за что не стал браться за такое тестовое задание. Мне мое время дороже. А если бы и сделал, то не реализацию, а только каркас возможно, интерфейсы и т.д. и т.п. Убивать 20 часов О_о ?! Почти три дня полных? Эээй, народ, неужели за последние годы все так поменялось?


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

    А за последние годы да, что-то поменялось. В Москве, по крайней мере. Всеобщая конфронтация в IT-шной среде?.. IT-шник IT-шнику волк?.. Впрочем, мне не стоит делать далеко идущие выводы

    AXX>scale_tone, я бы на вашем месте шерстил LinkedIn давно.


    Приложу усилия
    Re[2]: И снова тестовое задание...
    От: elmal  
    Дата: 24.11.10 12:39
    Оценка:
    Здравствуйте, AleXXus, Вы писали:

    AXX>Кратко с начала — я дико извиняюсь, но я бы ни за что не стал браться за такое тестовое задание. Мне мое время дороже. А если бы и сделал, то не реализацию, а только каркас возможно, интерфейсы и т.д. и т.п. Убивать 20 часов О_о ?! Почти три дня полных? Эээй, народ, неужели за последние годы все так поменялось?

    Да тут то понятно все. Таких фирм то мало в России, заниматься предлагаемыми вещами хочет практически каждый программист, вот и ставят все фильтры и выставляют любые условия, один черт поток кандидатов будет огромным. Даже если зарплату в 40 000 рублей предложат сеньеру, ведь 1 черт пойдут с целью приобщиться к великому . Я так понял, что туда попадают либо сразу из института в качестве первой работы, либо имея очень специфический опыт (желательно заграничный, желательно быть архитектором в майкрософте) реально попасть, а так пролезть нереально, даже на собеседование простых смертных не пригласят (если только на позицию юниора). Либо нужно быть на порядок более квалифицированным, чем любой из там работающих, но это тоже не гарантирует ничего.
    Re: И снова тестовое задание...
    От: sObak  
    Дата: 27.11.10 16:41
    Оценка: 1 (1) +1 -1
    Интересно, Вы понимаете, что соглашаясь на объемные тестовые задания — Вы постепенно делаете их обязательными?
    Продолжайте в том же ухе, скоро каждая конторка будет считать себя вправе давать недельные "тесты".

    То есть не контора плоха, в том что не отписалась по результатам. Вы плохи — уже тем, что согласились выполнить такое задание и тем самым навредили коллегам.

    С крайним неуважением и неудовольствием.
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 27.11.10 17:14
    Оценка:
    Здравствуйте, sObak, Вы писали:

    O>То есть не контора плоха, в том что не отписалась по результатам. Вы плохи — уже тем, что согласились выполнить такое задание и тем самым навредили коллегам.


    O>С крайним неуважением и неудовольствием.


    Выше я уже признал это своей ошибкой и извинился за это.
    Вам хотелось бы бОльшего?
    Re[3]: И снова тестовое задание...
    От: sObak  
    Дата: 27.11.10 18:07
    Оценка: 1 (1)
    Здравствуйте, scale_tone, Вы писали:

    _>Выше я уже признал это своей ошибкой и извинился за это.

    _>Вам хотелось бы бОльшего?

    Вы пытаетесь выяснить, что не так в вашем задании, где ваша ошибка.

    Ошибка не в коде — ошибка в том, что вы согласились его написать и отправить.
    А ошибка — это хуже чем преступление (Черчилль, по моему)
    Re[4]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 27.11.10 22:07
    Оценка:
    Здравствуйте, sObak, Вы писали:

    O>Вы пытаетесь выяснить, что не так в вашем задании, где ваша ошибка.


    O>Ошибка не в коде — ошибка в том, что вы согласились его написать и отправить.

    O>А ошибка — это хуже чем преступление (Черчилль, по моему)

    Вы, видимо, прочитали не все посты.
    Я уже давно все выяснил.
    Re[3]: И снова тестовое задание...
    От: ArtemGorikov Австралия жж
    Дата: 28.11.10 01:09
    Оценка: +1
    Здравствуйте, scale_tone, Вы писали:

    KP>>
  • А почему ты согласен с тем, что рекурсию можно и нужно свернуть в цикл?

    _>Потому что она там действительно тупо сворачивается:


    Можно- не значит нужно. Нужно взвесить- стоит ли приращение производительности- которое там стремится к нулю, ухудшения читабельности (поддерживаемости) кода.
  • Re[4]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 28.11.10 09:08
    Оценка:
    Здравствуйте, ArtemGorikov, Вы писали:

    AG>Можно- не значит нужно. Нужно взвесить- стоит ли приращение производительности- которое там стремится к нулю, ухудшения читабельности (поддерживаемости) кода.


    Ну, я тут даже уже и не знаю...
    Все-таки с идеологической точки зрения тут, наверно, лучше обойтись без рекурсии, потому как это больше соответствует стратегической цели обойтись без рекурсии вообще
    Re[5]: И снова тестовое задание...
    От: dilmah США  
    Дата: 28.11.10 11:36
    Оценка:
    _>Все-таки с идеологической точки зрения тут, наверно, лучше обойтись без рекурсии, потому как это больше соответствует стратегической цели обойтись без рекурсии вообще

    кто этот стратег с такой целью??

    Во-первых есть хвостовая рекурсия. Которую компилятор может превратить в цикл без накладных расходов на вызов функции.
    То есть здесь имеем читаемость рекурсии и никакой потери эффективности.
    В данном случае хвостовой рекурсии нет.

    Чем плоха нехвостовая рекурсия -- вызовы забивают стек (который ограничен не очень большой величиной).
    Но в твоем случае глубина рекурсии ограничена длиной пути. Я надеюсь твоя ФС накладывает ограничения на длину пути?
    Re[6]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 28.11.10 14:09
    Оценка:
    Здравствуйте, dilmah, Вы писали:

    D>Чем плоха нехвостовая рекурсия -- вызовы забивают стек (который ограничен не очень большой величиной).

    D>Но в твоем случае глубина рекурсии ограничена длиной пути. Я надеюсь твоя ФС накладывает ограничения на длину пути?

    Нет. Ну т.е. она (длина) ограничена только размером Dictionary<> с папками (пока память не кончится).
    Так что лучше все-таки без рекурсии
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 29.11.10 14:19
    Оценка:
    Здравствуйте, frogkiller, Вы писали:

    F>Сразу скажу, я довольно далёк от C# и .Net, поэтому не могу оценивать решение с точки зрения архитектуры и использованных технологий. Твои комментарии показались мне разумными, думаю, ты себе неплохую репутацию заработал и без проблем найдешь себе работу, даже более интересную, чем в обсуждаемой компании.


    Кстати говоря, ты случайно не знаешь, к вам уже взяли Windows Phone 7 — девелопера?
    Re[3]: И снова тестовое задание...
    От: frogkiller Россия  
    Дата: 29.11.10 15:45
    Оценка:
    Здравствуйте, scale_tone, Вы писали:

    F>>Сразу скажу, я довольно далёк от C# и .Net, поэтому не могу оценивать решение с точки зрения архитектуры и использованных технологий. Твои комментарии показались мне разумными, думаю, ты себе неплохую репутацию заработал и без проблем найдешь себе работу, даже более интересную, чем в обсуждаемой компании.


    _>Кстати говоря, ты случайно не знаешь, к вам уже взяли Windows Phone 7 — девелопера?


    Увы, я не в курсе. Они довольно далеко от нас находятся, мы почти не пересекаемся.
    Но тебе ничего не мешает прислать резюме.
    Курица — это инструмент, с помощью которого одно яйцо производит другие.
    Re[4]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 29.11.10 18:36
    Оценка:
    Здравствуйте, frogkiller, Вы писали:

    F>Увы, я не в курсе. Они довольно далеко от нас находятся, мы почти не пересекаемся.

    F>Но тебе ничего не мешает прислать резюме.

    Да я, собственно, уже присылал
    Прошел тест на сайте и собеседование, после чего мне предложили тестовое задание. Которое мне уже не захотелось делать, тем более, что рекрутер почему-то даже не смог озвучить зарплатную вилку.
    Re: И снова тестовое задание...
    От: MishaSt  
    Дата: 08.12.10 16:46
    Оценка:
    Задание, на мой взгляд, интересное, сделал бы с удовольствием.

    А вот как оно выполнено, мне не понравилось.
    Мне не понравилось то, что сохранение происходит только по вызову Dispose(). Вы можете себе представить, чтобы Windows, допустим,
    сохранял ВСЕ данные только при завершении работы? Я -- нет. Единственная причина, почему Windows что-то там сохраняет при завершении работы --- компромисс между производительностью и отказоустойчивостью. Такое поведение, как в данном решении, допустимо только в одном частном случае --- когда файловая система разрабатывается для устройства, куда однократно можно записать данные, например CD/DVD. Сам ход мыслей мне не нравится.
    Но с формальной точки зрения решение соответствует заданию. Потому что в задании нет четких ограничений.

    Другой вопрос, что задание большое, работа проделана, а получен за это шиш с маслом...Как-то это не правильно...Так не должно быть...
    Re[4]: компания JetBrains
    От: Она На Нас Ий Россия  
    Дата: 08.12.10 17:56
    Оценка:
    Здравствуйте, qxWork, Вы писали:

    W>К сожалению, ездить за каждым кандидатом в Москву _очень_ неудобно (как минимум, нужно отправить туда несколько человек), а подобрать хотя бы 2-3 одновременно не получается. Поэтому приглашаем к себе, и как я уже заметил, тех, кто нам уже практически подходит.


    И никто не прокомментировал этот пёрл?
    У Вас же работа в этом состоит и ЗП за это платят,
    а не кандидатам.

    Ваши коллеги в другие страны и за океан считают удобным
    систематически ездить за кандидатами
    Re[2]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 08.12.10 21:04
    Оценка:
    Здравствуйте, MishaSt, Вы писали:

    MS>Мне не понравилось то, что сохранение происходит только по вызову Dispose(). Вы можете себе представить, чтобы Windows, допустим,

    MS>сохранял ВСЕ данные только при завершении работы? Я -- нет. Единственная причина, почему Windows что-то там сохраняет при завершении работы --- компромисс между производительностью и отказоустойчивостью. Такое поведение, как в данном решении, допустимо только в одном частном случае --- когда файловая система разрабатывается для устройства, куда однократно можно записать данные, например CD/DVD. Сам ход мыслей мне не нравится.

    Моя библиотека да, раздавлена и польщена сравнением себя с Windows

    А по сути вопроса:
    1) чтобы сохранение происходило не только в Dispose(), клиентскому коду никто не мешает периодически вызывать FsDisk.SaveFileTable().
    2) в комментариях я упомянул это в числе недостатков и в качестве очевидного решения предложил реализовать периодический фоновый вызов FsDisk.SaveFileTable(). По моим оценкам, это 5 строк кода. Если напишу, лицензию на библиотеку купите?

    MS>Другой вопрос, что задание большое, работа проделана, а получен за это шиш с маслом...Как-то это не правильно...Так не должно быть...


    Ну, у меня теперь зато есть исходники, которые не стыдно в качестве примера кода посылать. Уже, кстати, нормальный WPF-ный GUI появился, взамен непотребного первоначального...
    Re[3]: И снова тестовое задание...
    От: Она На Нас Ий Россия  
    Дата: 09.12.10 00:54
    Оценка:
    Здравствуйте, scale_tone, Вы писали:

    MS>>Другой вопрос, что задание большое, работа проделана, а получен за это шиш с маслом...Как-то это не правильно...Так не должно быть...


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

    Понятно, что те, кто дают ТЗ исходят не из того,
    чтобы быстро выбрать, а из того, чтобы побольше и подольше
    отсеивать и поменьше самим напрягаться
    Re[3]: И снова тестовое задание...
    От: Ellin Россия www.rsdn.ru
    Дата: 22.12.10 10:26
    Оценка:
    Слушайте... коллега... по несчастью. А вы не знаете на кой может пригодится такая файловая система. А то я вот написал, хотел запостить в опенсорс проект. Только не пойму кому и для каких целей он может понадобится...
    Re[4]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 22.12.10 17:24
    Оценка: :)
    Здравствуйте, Ellin, Вы писали:

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


    Эээ... ну, навскидку могу предложить разве что хранить какие-то сессионные файловые иерархии каких-нибудь юзеров, так чтобы по одному физическому файлу на юзера. Скажем, при аплоаде на сервер. Для тех, кому почему-то не нравится или не подходит Protected Storage и System.IO.Packaging...
    Re[5]: И снова тестовое задание...
    От: Ellin Россия www.rsdn.ru
    Дата: 23.12.10 07:30
    Оценка:
    Здравствуйте, scale_tone, Вы писали:

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


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


    _>Эээ... ну, навскидку могу предложить разве что хранить какие-то сессионные файловые иерархии каких-нибудь юзеров, так чтобы по одному физическому файлу на юзера. Скажем, при аплоаде на сервер. Для тех, кому почему-то не нравится или не подходит Protected Storage и System.IO.Packaging...

    Пи$... Я им свой Package класс наваял!!! А он есть уже...
    Re[6]: И снова тестовое задание...
    От: scale_tone Норвегия https://scale-tone.github.io/
    Дата: 23.12.10 11:21
    Оценка:
    Здравствуйте, Ellin, Вы писали:

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


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


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


    _>>Эээ... ну, навскидку могу предложить разве что хранить какие-то сессионные файловые иерархии каких-нибудь юзеров, так чтобы по одному физическому файлу на юзера. Скажем, при аплоаде на сервер. Для тех, кому почему-то не нравится или не подходит Protected Storage и System.IO.Packaging...

    E>Пи$... Я им свой Package класс наваял!!! А он есть уже...

    Не волнуйтесь Он есть только с 3-го фреймворка, и они про него не знают
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.