Как вы лечите свою жабу?

User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Как вы лечите свою жабу?

Post by dotcom »

Kolbasoff wrote:Ну, кокой-нить пузырек и реверсал массива я рожу в муках, но не больше. Что там на таких тестах спрашивают? Истязатели будут, кстати, из Калифорнии. dotcom, вас случайно не подряжали на садирование дюда с восточного побережья завтра в 3pm PST? А то я сразу лучше скажу, где патроны зарыл.
Не, я пузырьки на этой неделе никому давать не собирался. И без меня есть истязатели в Калифорнии.
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

Kolbasoff wrote:Вот что написала рекрутерша: "... The interview will be mostly technical, and they will have you complete some code using the screen sharing capability so I would recommend brushing up on any of the technologies in the job description that you don’t feel as strong in." Что это за зверь такой? Они меня будут просить из головы хреначить Спринг-код? Я под пистолетом его не напишу без API Reference как минимум, a лучше с доступом к best practices. Ну, кокой-нить пузырек и реверсал массива я рожу в муках, но не больше. Что там на таких тестах спрашивают? Истязатели будут, кстати, из Калифорнии. dotcom, вас случайно не подряжали на садирование дюда с восточного побережья завтра в 3pm PST? А то я сразу лучше скажу, где патроны зарыл.
Если это наши калифорнийские перцы, то обычно спрашивают в зависимости от времени - если время 30 минут, то меня последний раз спрашивали

Написать фибаначи числа. Я написал за минуту типо

return (n < 3) ? 1 : fib(n-1) + fib(n-2);

Чел особо не осерчал и попросил высказаться по поводу того сколько это будет в О ноташин. Здесь я припух и оставшиеся двадцать минут выводил верхнию оценку этого дела типо 2 в степени N.

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

printBST ( Node t) {
if (t != null) {
System.out.println (t.value);
printBST (t.left);
printBST (t.right);
}

Я это уже печатаю с закрытыми глазами блин :angry:

Более сложные козлы (индюки) могут спросить чой нибудь из классики например у меня один индюк спросил решить проблему Sleeping Barber - я его переспросил он не будет возражать если я ее решу с помощью очереди с блокировкой?

Йаа-йаа последовало довольное булькание индюка.

Через пять минут когда я ему код написал - индюк очень рассроился и попросил решить через семафор так как очередь с блокировкой "он не понимай".
Я даже по приколу опубликовал решение в блоге http://vyatkins.wordpress.com/2013/12/2 ... r-problem/
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как вы лечите свою жабу?

Post by crypto5 »

Sergunka wrote: Чел особо не осерчал и попросил высказаться по поводу того сколько это будет в О ноташин. Здесь я припух и оставшиеся двадцать минут выводил верхнию оценку этого дела типо 2 в степени N.

так же популярно спросить про деревья типо BST распечатать потом типо распечатать чтоб было сразу отсортированно.
Там смешно получается, время вычисления числа фибоначи таким образом получается равно самому числу фибоначи, и совсем не 2^n ))
In vino Veritas!
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

crypto5 wrote:
Sergunka wrote: Чел особо не осерчал и попросил высказаться по поводу того сколько это будет в О ноташин. Здесь я припух и оставшиеся двадцать минут выводил верхнию оценку этого дела типо 2 в степени N.

так же популярно спросить про деревья типо BST распечатать потом типо распечатать чтоб было сразу отсортированно.
Там смешно получается, время вычисления числа фибоначи таким образом получается равно самому числу фибоначи, и совсем не 2^n ))
ну это понятно что смешно когда знаешь. На самом деле алгоритм за двадцать минут оценки у меня не получилось придумать - сошлись что 2^n в первом приближении должен работать.

Вроде как само доказательство выглядит таким образом
For F(1), the answer is 1 (the first part of the conditional).

For F(n), the answer is F(n-1) + F(n-2).

So what function satisfies these rules? Try a^n:

a^n == a^(n-1) + a^(n-2)

Divide through by a^(n-2):

a^2 == a + 1

Solve for a and you get (1+sqrt(5))/2 ~ (~θ(1.6n))
http://stackoverflow.com/questions/3607 ... i-sequence

в стековерфло.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как вы лечите свою жабу?

Post by crypto5 »

Ну как бы знание лежит на поверхности, O(F(n)) = O(F(n-1)) + O(F(n-2)), где O(F(0))=O(F(1))=1, получается число Фибоначи.
In vino Veritas!
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

вообще у меня есть большущий файл с собранием всяких примеров на джаве - я его обычно держу под рукой и печатаю из него решения когда просят закодить из дома :D
собственно я его сейчас приэтейчу там много разного мусора походу но вцелом дает общее понимание процесса и что спрашивают.
You do not have the required permissions to view the files attached to this post.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Kolbasoff
Уже с Приветом
Posts: 3481
Joined: 02 Jan 2005 22:10

Re: Как вы лечите свою жабу?

Post by Kolbasoff »

Sergunka wrote:...спросил решить проблему Sleeping Barber [...] Через пять минут когда я ему код написал - индюк очень рассроился и попросил решить через семафор так как очередь с блокировкой "он не понимай".
За 5 минут? Ох, п-ц мне... Все, пора на пасеку выдвигаться. Ну а гуглой-то хоть дают пользоваться?
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

crypto5 wrote:Ну как бы знание лежит на поверхности, O(F(n)) = O(F(n-1)) + O(F(n-2)), где O(F(0))=O(F(1))=1, получается число Фибоначи.
Технически это не является ответом если бы даже меня осенило в тот момент :D ответ все-таки (~θ(1.6n))
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

Kolbasoff wrote:
Sergunka wrote:...спросил решить проблему Sleeping Barber [...] Через пять минут когда я ему код написал - индюк очень рассроился и попросил решить через семафор так как очередь с блокировкой "он не понимай".
За 5 минут? Ох, п-ц мне... Все, пора на пасеку выдвигаться. Ну а гуглой-то хоть дают пользоваться?
Да не парься я перед этим очень много и разнообразно писал на очереди с блокировкой в суплай-консьюмер патерне так что даже API помнил.

Можно пользоваться только вторым компьютером :-) у меня иногда супруга сидит и гуглит мне решения если в моем списке вдруг не оказалось. Клаву надо иметь безвучную для поиска.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Как вы лечите свою жабу?

Post by АццкоМото »

Sergunka wrote: так же популярно спросить про деревья типо BST распечатать потом типо распечатать чтоб было сразу отсортированно.

printBST ( Node t) {
if (t != null) {
System.out.println (t.value);
printBST (t.left);
printBST (t.right);
}

Я это уже печатаю с закрытыми глазами блин :angry:
А разве это правильно? Вроде же печать собственного значения должна быть промеж левого и правого рекурсивного вызова, нет?
Мат на форуме запрещен, блдж!
nett
Уже с Приветом
Posts: 398
Joined: 14 Sep 2007 10:15
Location: BY -> VA -> CA

Re: Как вы лечите свою жабу?

Post by nett »

АццкоМото wrote:
Sergunka wrote: так же популярно спросить про деревья типо BST распечатать потом типо распечатать чтоб было сразу отсортированно.

printBST ( Node t) {
if (t != null) {
System.out.println (t.value);
printBST (t.left);
printBST (t.right);
}

Я это уже печатаю с закрытыми глазами блин :angry:
А разве это правильно? Вроде же печать собственного значения должна быть промеж левого и правого рекурсивного вызова, нет?
Ну это зависит от того что попросили. Если надо распечатать отсортировано то тогда да: левый, само значение, правый.
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

АццкоМото wrote:
Sergunka wrote: так же популярно спросить про деревья типо BST распечатать потом типо распечатать чтоб было сразу отсортированно.

printBST ( Node t) {
if (t != null) {
System.out.println (t.value);
printBST (t.left);
printBST (t.right);
}

Я это уже печатаю с закрытыми глазами блин :angry:
А разве это правильно? Вроде же печать собственного значения должна быть промеж левого и правого рекурсивного вызова, нет?
Это зависит от того в каком порядке хочешь напечатать. В данном случае понятно первым будет напечатана ветка от корневого узла и вплоть до минимального значения.

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

Code: Select all

    printBST (t.left);
    System.out.println (t.value);
    printBST (t.right);
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Как вы лечите свою жабу?

Post by АццкоМото »

nett wrote:
АццкоМото wrote:
Sergunka wrote: так же популярно спросить про деревья типо BST распечатать потом типо распечатать чтоб было сразу отсортированно.

printBST ( Node t) {
if (t != null) {
System.out.println (t.value);
printBST (t.left);
printBST (t.right);
}

Я это уже печатаю с закрытыми глазами блин :angry:
А разве это правильно? Вроде же печать собственного значения должна быть промеж левого и правого рекурсивного вызова, нет?
Ну это зависит от того что попросили. Если надо распечатать отсортировано то тогда да: левый, само значение, правый.
Красным в цитате
Мат на форуме запрещен, блдж!
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Как вы лечите свою жабу?

Post by АццкоМото »

Sergunka wrote:Если поставить печать после левого узла то напечатает дерево в порядке возрастания от минимума к максимуму.

Code: Select all

    printBST (t.left);
    System.out.println (t.value);
    printBST (t.right);
Дык вроде ж такая задача и была.
Вообще за это подобные задачи не люблю. Вроде как можешь с закрытыми глазами написать, а вечно либо втупишь где-то по-мелочи, либо нюанс в постановке задачи пропустишь
Мат на форуме запрещен, блдж!
User avatar
Kolbasoff
Уже с Приветом
Posts: 3481
Joined: 02 Jan 2005 22:10

Re: Как вы лечите свою жабу?

Post by Kolbasoff »

АццкоМото wrote:Вообще за это подобные задачи не люблю.
Я вот сейчас прохожу через интервью всякие... Че-то мне кажется, что таким образом можно отбирать народ для участия в хэкатонах, а не для реального "промышленного" погромизма. По-моему, правильнее было бы давать кандидатам большие задания - не на час, а на день или даже на неделю. Что те спокойно посидели, подумали, задизайнили, протестировали, задокументировали бы. Т.е. именно то, что требуется в реальной жизни.

А вот еще вопрос - в этих on-line tests, там код пишешь и можно его запустить и оттестировать или просто сваял текст и потом объясняешь, что и зачем?
dmishe
Уже с Приветом
Posts: 111
Joined: 05 Jul 2011 23:58

Re: Как вы лечите свою жабу?

Post by dmishe »

Kolbasoff wrote:
АццкоМото wrote:Вообще за это подобные задачи не люблю.
Я вот сейчас прохожу через интервью всякие... Че-то мне кажется, что таким образом можно отбирать народ для участия в хэкатонах, а не для реального "промышленного" погромизма. По-моему, правильнее было бы давать кандидатам большие задания - не на час, а на день или даже на неделю. Что те спокойно посидели, подумали, задизайнили, протестировали, задокументировали бы. Т.е. именно то, что требуется в реальной жизни.

А вот еще вопрос - в этих on-line tests, там код пишешь и можно его запустить и оттестировать или просто сваял текст и потом объясняешь, что и зачем?
Обычно нельзя (ну или копипаст в терминал/ide), часто просто google docs юзают, или аналогичные редакторы, бывает, с подсветкой. Есть редкий вариант, кажется, codility, там как бы веб-ide, можно сразу запускать.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Как вы лечите свою жабу?

Post by АццкоМото »

Kolbasoff wrote:
АццкоМото wrote:Вообще за это подобные задачи не люблю.
Я вот сейчас прохожу через интервью всякие... Че-то мне кажется, что таким образом можно отбирать народ для участия в хэкатонах, а не для реального "промышленного" погромизма. По-моему, правильнее было бы давать кандидатам большие задания - не на час, а на день или даже на неделю. Что те спокойно посидели, подумали, задизайнили, протестировали, задокументировали бы. Т.е. именно то, что требуется в реальной жизни.
Ну, эта мысль тут озвучивается по-моему каждый месяц :)
Kolbasoff wrote:А вот еще вопрос - в этих on-line tests, там код пишешь и можно его запустить и оттестировать или просто сваял текст и потом объясняешь, что и зачем?
У меня ни разу не было такого, чтобы можно было запустить. Хотя казалось бы - онлайн-тулзы для этого есть. За одно можно подзырить, как человек отлаживает наброски
Но я и не так уж много энторвью проходил
Мат на форуме запрещен, блдж!
nett
Уже с Приветом
Posts: 398
Joined: 14 Sep 2007 10:15
Location: BY -> VA -> CA

Re: Как вы лечите свою жабу?

Post by nett »

АццкоМото wrote:
nett wrote:
АццкоМото wrote:
Sergunka wrote: так же популярно спросить про деревья типо BST распечатать потом типо распечатать чтоб было сразу отсортированно.

printBST ( Node t) {
if (t != null) {
System.out.println (t.value);
printBST (t.left);
printBST (t.right);
}

Я это уже печатаю с закрытыми глазами блин :angry:
А разве это правильно? Вроде же печать собственного значения должна быть промеж левого и правого рекурсивного вызова, нет?
Ну это зависит от того что попросили. Если надо распечатать отсортировано то тогда да: левый, само значение, правый.
Красным в цитате
Ага, но перед этим было написано: так же популярно спросить про деревья типо BST распечатать потом типо распечатать чтоб было сразу отсортированно.
Мне потом говорит о том что было 2 задачи :pain1:
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

Kolbasoff wrote:
АццкоМото wrote:Вообще за это подобные задачи не люблю.
Я вот сейчас прохожу через интервью всякие... Че-то мне кажется, что таким образом можно отбирать народ для участия в хэкатонах, а не для реального "промышленного" погромизма. По-моему, правильнее было бы давать кандидатам большие задания - не на час, а на день или даже на неделю. Что те спокойно посидели, подумали, задизайнили, протестировали, задокументировали бы. Т.е. именно то, что требуется в реальной жизни.

А вот еще вопрос - в этих on-line tests, там код пишешь и можно его запустить и оттестировать или просто сваял текст и потом объясняешь, что и зачем?
В http://collabedit.com/ - есть точно подсветка только надо не забыть язык в правом углу выставить.

У меня есть такое задание - просто ребятки хотели когото своего продвинуть или не знали как от меня отвязаться дали задание - я в этом плане видимо маньяк - я зкодировал. Не сказать чтоб уж совсем круто, но были вынужденны вызвать на интервью. Поговорил ребята реально хилые нахрен спрашиваться было вообще задание то давать?
https://github.com/SVyatkin/SalesTaxProblem

Совсем недавно просили сервак под сокеты написать вот здесь лежит https://github.com/SVyatkin/tcp-server-java-example
Так как задачка в общем то на пару часов даже не соизволили ответить :D
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Как вы лечите свою жабу?

Post by АццкоМото »

nett wrote: Ага, но перед этим было написано: так же популярно спросить про деревья типо BST распечатать потом типо распечатать чтоб было сразу отсортированно.
Мне потом говорит о том что было 2 задачи :pain1:
Вы победили. Вы поставили мне шах, а потом, с особой циничностью - сразу мат. :sadcry:
Мат на форуме запрещен, блдж!
rorp
Уже с Приветом
Posts: 314
Joined: 24 May 2013 22:04

Re: Как вы лечите свою жабу?

Post by rorp »

Sergunka wrote:У меня есть такое задание - просто ребятки хотели когото своего продвинуть или не знали как от меня отвязаться дали задание - я в этом плане видимо маньяк - я зкодировал. Не сказать чтоб уж совсем круто, но были вынужденны вызвать на интервью. Поговорил ребята реально хилые нахрен спрашиваться было вообще задание то давать?
https://github.com/SVyatkin/SalesTaxProblem
Мне эти редиски тоже встерчались, только тогда они хотели не декоратор, а аппликуху, которая читает текстовый файл и печатает чек с разблюдовкой по налогу с продаж. После них стал таких посылать. Хотите посмотреть как код пишу -- давайте короткое задание во время скрининга. Хорошо, мне тогда надо было долго на самолете лететь, в полете все написал. А в нормальное время мне есть еще чем заняться, кроме как многочасовые тестовые задания делать.
Sergunka wrote:Совсем недавно просили сервак под сокеты написать вот здесь лежит https://github.com/SVyatkin/tcp-server-java-example
Так как задачка в общем то на пару часов даже не соизволили ответить :D
Логично! Ты хотя бы туда thread pool присобачил, что-ли. А скорей всего они ожидали что-нибудь типа non-bloking NIO сервера на селекторах.
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

rorp wrote:
Sergunka wrote:Совсем недавно просили сервак под сокеты написать вот здесь лежит https://github.com/SVyatkin/tcp-server-java-example
Так как задачка в общем то на пару часов даже не соизволили ответить :D
Логично! Ты хотя бы туда thread pool присобачил, что-ли.

Обижаешь, начальник, там для этих целей используется параметр backlog в качестве очереди с блокировкой.

public ServerSocket(int port,
int backlog)
throws IOException
rorp wrote:А скорей всего они ожидали что-нибудь типа non-bloking NIO сервера на селекторах.
Этот момент я просто не знаю, спасибо, за новодку почитаю.

Вообще задача звучала как
Please implement this server application by writing a TCP socketserver in Java, C++, C or Python that will do the following:
1) Allow a client application to establish a TCP connection to yourserver application on the port of your choice.
2) Listen for incoming messages sent from the client.
3) For each incoming message, extract the individual message elementsand print them to stdout.

Please do not use Twisted (or similar) framework for networking, and we want candidates to use bare sockets APIs for this challenge.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как вы лечите свою жабу?

Post by Интеррапт »

Sergunka wrote:Совсем недавно просили сервак под сокеты написать вот здесь лежит https://github.com/SVyatkin/tcp-server-java-example
Так как задачка в общем то на пару часов даже не соизволили ответить :D
Сразу что бросается в глаза, это что если один accept выкинет exception, то очень некрасиво прибьются все остальные потоки (System.exit). Всякие вещи по закрытию системных ресурсов (как, например, socket.close()) должны быть внутри finally { } блока, а не внутри try { } и т.п. мелочи. Собственно к этому могли и придраться.
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

Интеррапт wrote:
Sergunka wrote:Совсем недавно просили сервак под сокеты написать вот здесь лежит https://github.com/SVyatkin/tcp-server-java-example
Так как задачка в общем то на пару часов даже не соизволили ответить :D
Сразу что бросается в глаза, это что если один accept выкинет exception, то очень некрасиво прибьются все остальные потоки (System.exit). Всякие вещи по закрытию системных ресурсов (как, например, socket.close()) должны быть внутри finally { } блока, а не внутри try { } и т.п. мелочи. Собственно к этому могли и придраться.
Чувствуется рука мастера - лажанулся спору нет :fr: когда писал глаз замылился. В следующий раз перед тем как отослать буду выставлять на ревью :D
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Kolbasoff
Уже с Приветом
Posts: 3481
Joined: 02 Jan 2005 22:10

Re: Как вы лечите свою жабу?

Post by Kolbasoff »

Sergunka wrote:Да не парься...
Ох и от<бип-бип>али меня ваши горячие калифорнийские парни.... Как ссаного первокурсника на экзамене по вышке. Плавал, как говно в водовороте. Но что удивительно, что в итоге сказали что я сделал на интервью хорошо и они рекомендуют меня на следующий уровень.

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