Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Rooster

Программирование[11]

var  

258 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

(изменено)
JuJeu написал 1 час назад:
Жухлый Жмых написал 1 час назад:
Grohuf написал 2 часа назад:
Grohuf написал 18 часов назад:
Жухлый Жмых написал 18 часов назад:
Grohuf написал 18 часов назад:

(у нас я видел разные вариации таких задач)

Это в смысле на собесах?  Для вкатуна на IOS разраба , как бы ты оценил эту задачку на собесе по 5-бальной?

Я не спец по задачам. Сам я алгоритмах не очень хорош. Тут тебе Вова нужен.

Задачу, которую ты описал, у нас давалась на телефонном интервью. Обычно ее решали через сортировку (но это уже  считалось норм). Хэш-таблицы очень редко предлагали.

Модифицированный вариант этой задачи, где надо немного подольше подумать (чтобы свести ее к поиску нужному тебе числа в хэш-таблице), давали на AA секции. Я не помню AA1 это (довольно простые задачи, которые у меня бы трудностей не вызвали) или AA2 (там задачки сразу наскоком не решишь). Попасть в Яндекс без решения AA2 нельзя (похуй, джун ты там или помидор)

Посмотрел на работе. Это АА2. Но поиск нужного числа в массиве лишь часть задачи, в которой много подводных камней. Собственно умение программировать и видеть краевые случаи она и проверяет.

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

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

да наверно это просто проще

 

дать одну-несколько из пары тысяч с литкода и смотреть что будет ИЛИ расспрашивать про опыт, про детали языка, иметь методику опроса.

 

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

 

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


Изменено пользователем Olololnet

Поделиться сообщением


Ссылка на сообщение
(изменено)
Olololnet написал 1 час назад:
JuJeu написал 2 часа назад:
Жухлый Жмых написал 3 часа назад:
Grohuf написал 3 часа назад:
Grohuf написал 19 часов назад:
Жухлый Жмых написал 19 часов назад:
Grohuf написал 19 часов назад:

(у нас я видел разные вариации таких задач)

Это в смысле на собесах?  Для вкатуна на IOS разраба , как бы ты оценил эту задачку на собесе по 5-бальной?

Я не спец по задачам. Сам я алгоритмах не очень хорош. Тут тебе Вова нужен.

Задачу, которую ты описал, у нас давалась на телефонном интервью. Обычно ее решали через сортировку (но это уже  считалось норм). Хэш-таблицы очень редко предлагали.

Модифицированный вариант этой задачи, где надо немного подольше подумать (чтобы свести ее к поиску нужному тебе числа в хэш-таблице), давали на AA секции. Я не помню AA1 это (довольно простые задачи, которые у меня бы трудностей не вызвали) или AA2 (там задачки сразу наскоком не решишь). Попасть в Яндекс без решения AA2 нельзя (похуй, джун ты там или помидор)

Посмотрел на работе. Это АА2. Но поиск нужного числа в массиве лишь часть задачи, в которой много подводных камней. Собственно умение программировать и видеть краевые случаи она и проверяет.

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

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

да наверно это просто проще

 

дать одну-несколько из пары тысяч с литкода и смотреть что будет ИЛИ расспрашивать про опыт, про детали языка, иметь методику опроса.

 

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

 

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

 

Дело не только в этом. Такое интервью для того, чтобы стандартизировать собеседование для всего Яндекса.

Раньше каждый отдел проводил свои собственные интервью. Например, в Я.Браузер было 3 часа вопросов + 3-4 часа написание кода задачи на ноуте (+1 час телефонного интервью). Если человека не брали, его могли посмотреть в другом отделе, где он проходил опять кучу часов интервью. Потом решили уменьшить нагрузку и на соискателя, и на собеседующих и все стандартизировали. Кроме того ввели АА секцию, которую проводят специально обученные люди (да, они специально проходят обучение этому), что гарантирует, что какой-то отдел не взял к себе откровенно слабого разработчика (не важно, по какой причине нанимающий руководитель это делал).

Из-за всего этого, если раньше в Я.Б задавали больше вопросы на знание программирования, а алгоритмическая секция была одна (и в основном устная), то сейчас имеем то, что имеем (да, в браузере не нужен сильный алгоритмический бэкграунд).


Изменено пользователем Grohuf

Поделиться сообщением


Ссылка на сообщение

а что надо? контакты товарища майора, чтоб знать какие закладки делать?

Just.Doit понравилось это

Поделиться сообщением


Ссылка на сообщение
(изменено)

задача, дан массив, например [4 1 2 3]; нужно вернуть массив, где столько же элементов, на элементе ответом будет переменожением всех элементов, кроме самого i; т.е. на позиции 4 ответом будет 1*2*3; ответ для массива примера: [6 24 12 8]

 

собственно, напрашивается просто пройти n и собрать всех остальных, перемножив, но тут есть ещё условие: нужно решить за O(n). и тут я нихуя не понял, понятно что нужно как-то закэшировать результаты перемножений, чтобы их использовать. но как.

 

а именно,


 

Скрытый текст

 

делаем ещё 2 массива и собираем перемножения влево и вправо, т.е.

слева:   [4  4 8 24]
справа: [24 6 6 3 ]

 

позиция , например [3] = 4 * 3 = 12; ещё там вроде как указывается, что можно изъебнуться и доп память не выделять, т.е. переиспользовать входной/выходной массив.

 

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

 

 


Изменено пользователем Olololnet

Поделиться сообщением


Ссылка на сообщение

Взять произведение всех элементов, а при сборке делить на текущий?
O(2n)?

GoldRobot и Kant понравилось это

 

DB

59221730.png


Я - гений, ёпта

bfe7003be27e8e81ce6a7d2d8192e9ae.jpg


22


msg-93176-0-72842500-1438846470_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
ArzanisAncient написал 1 час назад:

Взять произведение всех элементов, а при сборке делить на текущий?
O(2n)?

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

Поделиться сообщением


Ссылка на сообщение
Olololnet написал 2 часа назад:

т.е. на позиции 4 ответом будет 1*2*3

шо

Поделиться сообщением


Ссылка на сообщение
Olololnet написал 16 минут назад:
ArzanisAncient написал 1 час назад:

Взять произведение всех элементов, а при сборке делить на текущий?
O(2n)?

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

а умножение хоть использовать можно?

 

пиздос


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
Edgarchik написал 48 минут назад:
Olololnet написал 2 часа назад:

т.е. на позиции 4 ответом будет 1*2*3

шо

[0]

 

Kant написал 44 минуты назад:

пиздос

https://leetcode.com/problems/product-of-array-except-self/?envType=study-plan-v2&envId=leetcode-75

Поделиться сообщением


Ссылка на сообщение
(изменено)

del

Прочитал сложность O(1), а не память.


Изменено пользователем ArzanisAncient

 

DB

59221730.png


Я - гений, ёпта

bfe7003be27e8e81ce6a7d2d8192e9ae.jpg


22


msg-93176-0-72842500-1438846470_thumb.jpg

Поделиться сообщением


Ссылка на сообщение

Входные данные:

[3,5,4,1,2]

Первый проход по массиву:

[1,3,15,60,60]

Второй проход по массиву:

[40,8,2,2,1]

Ответ:

[40,24,30,120,60]

 

Чтобы не использовать доп память можно модифицировать исходный массив на втором проходе.

 

PS Не благодарите

В принципе хранить массив на втором проходе не нужно, так что модифицировать исходный тоже ен нужно

Поделиться сообщением


Ссылка на сообщение
Olololnet написал 5 часов назад:

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

Ну отвлекшись на 5 минут от работы я без труда придумал решение.

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 8 минут назад:
Olololnet написал 5 часов назад:

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

Ну отвлекшись на 5 минут от работы я без труда придумал решение.

так оно в посте написано, немного другая версия

Поделиться сообщением


Ссылка на сообщение
(изменено)
Olololnet написал 5 минут назад:
Grohuf написал 15 минут назад:
Olololnet написал 5 часов назад:

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

Ну отвлекшись на 5 минут от работы я без труда придумал решение.

так оно в посте написано, немного другая версия

Я его не заметил, поэтому 7891 пост написал.

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

 

Если хочешь пример задачки, которую НИКТО не решил из тех, кого я собеседовал, то вот:

Имеем массив натуральных чисел от 1 до N. Числа идут в произвольном порядке. Из этого массива убрали 2 числа. Нужно найти эти два числа, не изменяя массив. Удачи решить :petro:


Изменено пользователем Grohuf

Поделиться сообщением


Ссылка на сообщение

Беру значит доп.массив... :trollbrow:

GoldRobot понравилось это

 

DB

59221730.png


Я - гений, ёпта

bfe7003be27e8e81ce6a7d2d8192e9ae.jpg


22


msg-93176-0-72842500-1438846470_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
ArzanisAncient написал 20 минут назад:

Беру значит доп.массив... :trollbrow:

Ну ограничения O(N) по времени и O(1) по памяти, думаю, очевидны

Поделиться сообщением


Ссылка на сообщение

Полюбе какая-нить эбола с хитровыебанными свойствами арифметической прогрессии.
Иначе не так редко бы решали.


 

DB

59221730.png


Я - гений, ёпта

bfe7003be27e8e81ce6a7d2d8192e9ae.jpg


22


msg-93176-0-72842500-1438846470_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
(изменено)

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


Изменено пользователем Grohuf

Поделиться сообщением


Ссылка на сообщение
(изменено)
Olololnet said 8 hours ago:

задача, дан массив, например [4 1 2 3]; нужно вернуть массив, где столько же элементов, на элементе ответом будет переменожением всех элементов, кроме самого i; т.е. на позиции 4 ответом будет 1*2*3; ответ для массива примера: [6 24 12 8]

 

собственно, напрашивается просто пройти n и собрать всех остальных, перемножив, но тут есть ещё условие: нужно решить за O(n). и тут я нихуя не понял, понятно что нужно как-то закэшировать результаты перемножений, чтобы их использовать. но как.

 

а именно,


 

  Reveal hidden contents

 

делаем ещё 2 массива и собираем перемножения влево и вправо, т.е.

слева:   [4  4 8 24]
справа: [24 6 6 3 ]

 

позиция , например [3] = 4 * 3 = 12; ещё там вроде как указывается, что можно изъебнуться и доп память не выделять, т.е. переиспользовать входной/выходной массив.

 

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

 

 

 

какой номер на литкоде?

а. это с 75 кор листа

https://leetcode.com/problems/product-of-array-except-self/

 


Изменено пользователем JuJeu

Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 15 минут назад:

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

 


Ну, крч.

Есть формула суммы квадратов чисел натурального ряда.
Есть формула сумма чисел натурального ряда.
Считаем первую и вторую какие доллжны быть и каие есть в массиве.

Дальше система:
x + y = N, где N - разница между ожидаемой и реальной суммой
x^2 + y^2 = M, где М - разница между ожидаемой и реальной суммой квадратов

Система сводится к квадратному уравнению, решить его за O(N) можно.

Бери в яндекс

UglyBastard понравилось это

 

DB

59221730.png


Я - гений, ёпта

bfe7003be27e8e81ce6a7d2d8192e9ae.jpg


22


msg-93176-0-72842500-1438846470_thumb.jpg

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...