Стратегия в карьере программиста

assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

OtherSide wrote: А что, из вашего примера, тот же покер разве час делать?
За час вряд ли, да и за 2 тоже. Ближе к 3м, а уж если полировать, то и к 4м. У меня вечер заняло, точно не помню сколько в часах.
OtherSide wrote: Вот пример тестового задания, который выслали

https://umstelkb.atlassian.net/wiki/dis ... astic+File

Я реальное время оцениваю в 4-6 часов
Я, честно говоря, вообще не понял, как именно они хотят выполнения "the amount of excessive (supplementary) information being written must depend only on the size of the serialized data, but NOT on the current size of the file itself". Если в начало 1Тб файла вставляется 1 байт, например, то что делать? Или им не нужна совместимость с обычными файлами? вряд ли, иначе зачем тогда файлнейм... Не могу сходу оценить трудозатраты.
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Стратегия в карьере программиста

Post by oshibka_residenta »

assazello wrote:Я, честно говоря, вообще не понял, как именно они хотят выполнения "the amount of excessive (supplementary) information being written must depend only on the size of the serialized data, but NOT on the current size of the file itself". Если в начало 1Тб файла вставляется 1 байт, например, то что делать? Или им не нужна совместимость с обычными файлами? вряд ли, иначе зачем тогда файлнейм... Не могу сходу оценить трудозатраты.
Идея в том, чтобы сделать свою псевдо файловую систему. Т.е. вы держите "супер" файл в списке настоящих файлов. В данном случае у вас в списке будет 1 ОS файл из 1 байта и один OS 1Тб файл.
Ну соотвественно, операции типа seek должны правильно все куски соединять.

Да, вам - no hire
assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

oshibka_residenta wrote:
assazello wrote:Я, честно говоря, вообще не понял, как именно они хотят выполнения "the amount of excessive (supplementary) information being written must depend only on the size of the serialized data, but NOT on the current size of the file itself". Если в начало 1Тб файла вставляется 1 байт, например, то что делать? Или им не нужна совместимость с обычными файлами? вряд ли, иначе зачем тогда файлнейм... Не могу сходу оценить трудозатраты.
Идея в том, чтобы сделать свою псевдо файловую систему. Т.е. вы держите "супер" файл в списке настоящих файлов. В данном случае у вас в списке будет 1 ОS файл из 1 байта и один OS 1Тб файл.
Ну соотвественно, операции типа seek должны правильно все куски соединять.
Была такая мысль, но смутило название. Такого кадавра из кусков "файлом" бы не назвали. :)

Если именно так, то да, день минимум. Или неделю по паре часов вечерком.
oshibka_residenta wrote: Да, вам - no hire
Это вы нанимаете? Забавно.
OtherSide
Уже с Приветом
Posts: 15759
Joined: 01 Mar 2008 15:14

Re: Стратегия в карьере программиста

Post by OtherSide »

assazello wrote:
oshibka_residenta wrote:
assazello wrote:Я, честно говоря, вообще не понял, как именно они хотят выполнения "the amount of excessive (supplementary) information being written must depend only on the size of the serialized data, but NOT on the current size of the file itself". Если в начало 1Тб файла вставляется 1 байт, например, то что делать? Или им не нужна совместимость с обычными файлами? вряд ли, иначе зачем тогда файлнейм... Не могу сходу оценить трудозатраты.
Идея в том, чтобы сделать свою псевдо файловую систему. Т.е. вы держите "супер" файл в списке настоящих файлов. В данном случае у вас в списке будет 1 ОS файл из 1 байта и один OS 1Тб файл.
Ну соотвественно, операции типа seek должны правильно все куски соединять.
Была такая мысль, но смутило название. Такого кадавра из кусков "файлом" бы не назвали. :)

Если именно так, то да, день минимум. Или неделю по паре часов вечерком.

А удалять как вы собрались тогда? Я так понял что все в одном файле хранится, а блоки надо двигать, перезаписывая в цикле.
Базовый алгоритм можно и за час сдеалть. Но с тестированием, оформлением когда и т.п. реально часов 5 выйдет
OtherSide
Уже с Приветом
Posts: 15759
Joined: 01 Mar 2008 15:14

Re: Стратегия в карьере программиста

Post by OtherSide »

assazello wrote:
oshibka_residenta wrote: Да, вам - no hire
Это вы нанимаете? Забавно.
Вообще-то приз не устройство на работу, а лишь то, что с вами соизволят поговорить по телефону и решить стоит ли с вами общаться дальше.
helg
Уже с Приветом
Posts: 4827
Joined: 15 May 2001 09:01

Re: Стратегия в карьере программиста

Post by helg »

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

На кураже - за час, включая тесты.
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Стратегия в карьере программиста

Post by oshibka_residenta »

assazello wrote:
oshibka_residenta wrote: Да, вам - no hire
Это вы нанимаете? Забавно.
Шутка. Хотя, могу и нанять, но в Индии :( Зарплата там так себе, но бенефиты :good: К примеру, в комплект входит домработница
OtherSide
Уже с Приветом
Posts: 15759
Joined: 01 Mar 2008 15:14

Re: Стратегия в карьере программиста

Post by OtherSide »

helg wrote:Современная файловая система, кроме списка кусочков для каждого файла, содержит, как минимум, дерево директорий, файловые атрибуты, разграничение доступа и файлы спецназначения. Тут же ничего такого и близко нет.

На кураже - за час, включая тесты.
Работать на кураже значит что 3 часа вы будете отдыхать и не сможете делать иной работы. Т.е. по факту те же 4 часа.
Да и куража такие задачи не вызывают. Обычная рутина.
assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

OtherSide wrote:
assazello wrote:
oshibka_residenta wrote:
assazello wrote:Я, честно говоря, вообще не понял, как именно они хотят выполнения "the amount of excessive (supplementary) information being written must depend only on the size of the serialized data, but NOT on the current size of the file itself". Если в начало 1Тб файла вставляется 1 байт, например, то что делать? Или им не нужна совместимость с обычными файлами? вряд ли, иначе зачем тогда файлнейм... Не могу сходу оценить трудозатраты.
Идея в том, чтобы сделать свою псевдо файловую систему. Т.е. вы держите "супер" файл в списке настоящих файлов. В данном случае у вас в списке будет 1 ОS файл из 1 байта и один OS 1Тб файл.
Ну соотвественно, операции типа seek должны правильно все куски соединять.
Была такая мысль, но смутило название. Такого кадавра из кусков "файлом" бы не назвали. :)

Если именно так, то да, день минимум. Или неделю по паре часов вечерком.

А удалять как вы собрались тогда? Я так понял что все в одном файле хранится, а блоки надо двигать, перезаписывая в цикле.
Базовый алгоритм можно и за час сдеалть. Но с тестированием, оформлением когда и т.п. реально часов 5 выйдет
Я бы сделал отдельно данные и отдельно индекс. Т.е., не 2 файла в данном примере, а 3. В индексе хранил бы карту распределения кусков. Все удаления-перемещения - через манипуляции содержимым индекса.
assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

OtherSide wrote:
assazello wrote:
oshibka_residenta wrote: Да, вам - no hire
Это вы нанимаете? Забавно.
Вообще-то приз не устройство на работу, а лишь то, что с вами соизволят поговорить по телефону и решить стоит ли с вами общаться дальше.
Да, я понимаю. Такие правила, значит, рынок нанимателя, а не работника.
OtherSide
Уже с Приветом
Posts: 15759
Joined: 01 Mar 2008 15:14

Re: Стратегия в карьере программиста

Post by OtherSide »

Что - то не въезжаю. Пусть мы запишем терабайтный файл циклом по 3 байта, а потом удалим каждый - 5-ый. Что станет с файлом индекса и операцией чтения?
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Стратегия в карьере программиста

Post by oshibka_residenta »

OtherSide wrote: А удалять как вы собрались тогда?
Надо отмечать начало и конец для каждого куска в своем "дескрипторе"-индехе . Ну и удалять фаилы, если они больше не нужны. Такое может быть, к примеру, если сначала сделали Insert, а потом delete того же куска.
OtherSide wrote: Я так понял что все в одном файле хранится, а блоки надо двигать, перезаписывая в цикле.
нет
OtherSide
Уже с Приветом
Posts: 15759
Joined: 01 Mar 2008 15:14

Re: Стратегия в карьере программиста

Post by OtherSide »

Почему нет не понял
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Стратегия в карьере программиста

Post by oshibka_residenta »

OtherSide wrote:Почему нет не понял
Вся суть в том, что двигать ничего нельзя - это явно сказано в условии. Надо лишь менять индех-дескриптор (при удалении), а при вставке создать новый файл с новой информацией + поменять индех-дескриптор .
OtherSide
Уже с Приветом
Posts: 15759
Joined: 01 Mar 2008 15:14

Re: Стратегия в карьере программиста

Post by OtherSide »

Вообще откуда беруться такие оценки "на кураже"? Вы всегда на кураже работаете, что ли? Естественно время всегда включает анализ задачи, перерывы на кофе, обдумывание, тестирование, оформление, переписку..
Это по студенчеству делаешь такие оценки, а потом понимаешь, почему строку кода оценивают в сотни долларов
assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

OtherSide wrote:Что - то не въезжаю. Пусть мы запишем терабайтный файл циклом по 3 байта, а потом удалим каждый - 5-ый. Что станет с файлом индекса и операцией чтения?
Файл индекса вырастет! :) Но условия задачи мы не нарушим, каждая операция будет записывать не зависящее от размера файла количество данных.
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Стратегия в карьере программиста

Post by oshibka_residenta »

helg wrote:Современная файловая система, кроме списка кусочков для каждого файла, содержит, как минимум, дерево директорий, файловые атрибуты, разграничение доступа и файлы спецназначения. Тут же ничего такого и близко нет.

На кураже - за час, включая тесты.
Ну, конечно. А за два часа перепишете Линух с нуля.
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Стратегия в карьере программиста

Post by oshibka_residenta »

assazello wrote:
OtherSide wrote:Что - то не въезжаю. Пусть мы запишем терабайтный файл циклом по 3 байта, а потом удалим каждый - 5-ый. Что станет с файлом индекса и операцией чтения?
Файл индекса вырастет! :) Но условия задачи мы не нарушим, каждая операция будет записывать не зависящее от размера файла количество данных.
Надо еще дефрагментацию добавить. :umnik1:
assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

oshibka_residenta wrote:
assazello wrote:
OtherSide wrote:Что - то не въезжаю. Пусть мы запишем терабайтный файл циклом по 3 байта, а потом удалим каждый - 5-ый. Что станет с файлом индекса и операцией чтения?
Файл индекса вырастет! :) Но условия задачи мы не нарушим, каждая операция будет записывать не зависящее от размера файла количество данных.
Надо еще дефрагментацию добавить. :umnik1:
Это уже оптимизация. To version 2.0. :)
helg
Уже с Приветом
Posts: 4827
Joined: 15 May 2001 09:01

Re: Стратегия в карьере программиста

Post by helg »

assazello wrote:Я бы сделал отдельно данные и отдельно индекс. Т.е., не 2 файла в данном примере, а 3. В индексе хранил бы карту распределения кусков. Все удаления-перемещения - через манипуляции содержимым индекса.
Зачем карта? Это выйдет, что для чтения 100-байтного файла придутся вливать в память 100-мегабайтную карту. У нас же уже есть файловая система с готовыми картами.

На первом этапе рисуем две директории: в одной файлы, именованые в соотетствии с передаваемым FileName, внутри каждого список кусочков с размерами. В другой директории - эти самые кусочки, с последовательно генерируемыми именами. Тесты работают, можно полировать оптимизировать.

Экранируем спецсимволы в именах файлов. Проблему 10K файлов в одной директории (Windows всё-таки) снимаем созданием дерева директорий с равномерной заливкой. Последовательные вставки в один файл буферизуем до какого-то размера - чтобы не плодилось по файлу на вызов. Заодно объединяем вставляемый кусочек с предыдущим/последующим, который не в буфере, а в файле - чтобы бисер не плодить. Наверняка ещё что будет в TODO-комментариях при написании первой версии на предмет отполировать.

Получается чистый API безо всяких резидентных кусков. Вроде, тормозных операций у него не видно.
Last edited by helg on 26 Mar 2015 23:25, edited 1 time in total.
helg
Уже с Приветом
Posts: 4827
Joined: 15 May 2001 09:01

Re: Стратегия в карьере программиста

Post by helg »

OtherSide wrote:Вы всегда на кураже работаете, что ли?
В условиях интервью без куража - никак.
assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

helg wrote:
assazello wrote:Я бы сделал отдельно данные и отдельно индекс. Т.е., не 2 файла в данном примере, а 3. В индексе хранил бы карту распределения кусков. Все удаления-перемещения - через манипуляции содержимым индекса.
Зачем карта? Это выйдет, что для чтения 100-байтного файла придутся вливать в память 100-мегабайтную карту. У нас же уже есть файловая система со готовыми картами.

На первом этапе рисуем две директории: в одной файлы, именованные в соотетствии с передаваемым FileName, внутри каждого список кусочков. В другой директории - эти самые кусочки, с последовательно генерируемыми именами.
Список кусочков - это и есть индекс. Он же карта. :)
assazello
Уже с Приветом
Posts: 1218
Joined: 06 Mar 2015 00:18
Location: San Jose, CA

Re: Стратегия в карьере программиста

Post by assazello »

Хотя пожалуй соглашусь, можно и без индекса. Наш "файл" можно имплементировать как отдельную директорию с последовательностью файлов ограниченного размера, например каждый не более 100Мб. Файлы просто сортированы по имени. Любая запись в такой "файл" будет добавлять не более 100Мб "лишних" данных - удовлетворяет условию. Любое удаление тоже не более 100Мб дополнительно. Вроде как все соответствует.

Единственная засада тут в том, что со временем и разрастанием "файла" мы упремся в ограничение по имени и придется часть или весь набор переименовать.
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Стратегия в карьере программиста

Post by Sergunka »

Stantmn wrote:3. изучать самую денежную и востребованную Java с нуля. Правда ее применить тоже негде будет с моими нулевыми знаниями.
Моя цель H1B ну и тыщ 120 в солнечной Калифорнии.
Насколько это все реально? Что наиболее перспективно с вашей точки зрения? Рассматриваю все советы и предложения.
Я четыре года назад соскочил с Лотус Нотс на джава - ни дня не пожалел. На джаве легче приехать так как массово, а опыт баз данных будет просто хорошим подспорьем когда уже приедете и выйдете на работу.

Удачи.

P.S. Еще половим вместе рыбу в калифорнийских прудах :fr:
"A patriot must always be ready to defend his country against his government." Edward Abbey
Stantmn
Уже с Приветом
Posts: 150
Joined: 07 Apr 2014 17:40
Location: Westlake Village, CA

Re: Стратегия в карьере программиста

Post by Stantmn »

assazello wrote:Наврал, не покер, а блэкджек. :) И даже без девочек.
кстати еще на первом курсе института писал игру "очко" аналог блэкджека под дос на паскале или с, не помню уже :)
после этого меня на 2 года в инстититуте от основ информатики освободили. А пузырьковый метод я запомнил, после того как чё-та на олимпиаде надо было именно им делать, а вот что и почему, я не помню уже. по образованию я учитель информатики и физики, но вот ничего уже не помню.
меня вот убивают на собечедованиях всякие задачки с последовательностями, фибоначами и т.п. кто-то в жизни их использует при программировании? матан видимо тоже пора освежать.


ОФФ: есть кто-нибдуь с аккаунтом работодателя на одеске? нужна помощь первый фидбэк получить :oops:
я уже часов 100 убил с 3мя заказчиками, заработал 35 долларов, но так и не получил фидбэк :(
все пропадают куда-то, то не платят, то отзыв не оставляют :(
Last edited by Stantmn on 27 Mar 2015 06:09, edited 1 time in total.

Return to “Работа и Карьера в IT”