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...
Пока на собственное сообщение не было ответов, его можно удалить.