Як збільшити навички структури даних після тривалої сплячки [закрито]


10

Я був досить гарний з алгоритмами та структурами даних колись, дуже давно. Відтоді я професійно програмував, а потім пішов керувати невеликою командою, яка повністю знімала мої технічні навички в цій галузі.

Я вирішив, що хочу знову стати розробником та працювати в Google. Річ у тому, що я настільки поза практикою, що якби мене зараз взяли на співбесіду, я б точно вихлюпнув за 10 хвилин.

Яку програму тренувань ви б рекомендували мені повернути форму? Я вже розпочав ці вихідні, повернувшись до абсолютних основ і застосувавши кілька алгоритмів сортування, пов'язаний список та хеш-таблицю. Далі, я думаю, я прочитаю весь матеріал курсу про інші основні структури даних та алгоритми графіків. Я хочу знайти цілеспрямований комплекс практичних вправ, які я можу зробити за порівняно короткий проміжок часу, щоб перемикати старі клітини мозку. Я знаю цей матеріал - мені просто потрібно нагадати собі, що я це знаю.


@Anon: Якщо це новий спосіб, коли Google створює нову інформацію про себе в цьому новому році, я хочу сказати одне. Це працює.
Fanatic23

4
Якщо ваші структури даних були в сплячому режимі, вони, швидше за все, були серіалізовані. Вам просто потрібно їх несеріалізувати.
Mchl

4
@Mchl - Я не знаю про Anon, але я виявив, що середовище зберігання "мозку" в довгостроковій перспективі навіть менш надійне, ніж дискети. Все, що серіалізоване більше декількох років тому, майже напевно корумповане.
Steve314

Відповіді:


6

Я хотів би сказати 4 речі, і я перерахував порядок, який мені потрібно сказати вам:

  1. Отримайте власне джерело зеленого чаю, поки ви на цьому
  2. Поки ви потягуєте зелений чай, перегляньте книгу Скієни, доступну звідси . І пройти через аудіо / відео матеріал тут .
  3. Перегляньте чудовий набір посилань, які підтримує Google за адресою http://code.google.com/edu/courses.html
  4. Перегляньте питання, пов’язані з алгоритмами, на SO та спробуйте відповісти на них самостійно

Удачі!


Хоча я люблю книгу від skiena, ніколи не знав, що є аудіо / відео матеріал, дякую.
спалах

1

Я б запропонував вибрати реальну структуру даних або формат файлу, який люди зараз використовують, і зробити щось круте. Формат файлу Git досить добре зафіксований, наприклад:

http://book.git-scm.com/1_the_git_object_model.html

Робити щось цікаве з форматом, який користуються люди, і будучи суворим з цим, викладає уроки - і - дає вам щось, що зацікавить людей.

Або принаймні зробити щось з унікальним кутом. Коли я був у позиції, подібній вашій, я написав відповідь на запитання в інтернеті про створення односпрямованого графіка, який міг би виявити вставку циклів. Це було б легкою проблемою, якби я не додав зайвих обмежень ... але я вирішив вимагати, щоб він міг робити вставки в O (1). Результат отримав NoCycle:

http://hostilefork.com/nocycle/


1

Це залежить від того, яка саме є ваша мета - наприклад, це проектування та аналіз алгоритмів, чи ви дотримуєтесь стандартних структур та алгоритмів? Але мені це звучить так, ніби ви вже робите те, що вам потрібно зробити.

Якщо у вас ще є стара улюблена книжка з тексту «давно давно», пропоную переглянути це. Крім того, це стандартні поради, що переглядаються. Задавайте собі конкретні запитання, шукайте відповіді, коли у вас не вистачає запитань, і швидко переглядайте все, що ви зможете знайти, поки не зможете запропонувати ще кілька конкретних питань.

Алгоритми та структури даних (Niklaus Wirth) - це порівняно стисла книга про основні алгоритми та структури даних без усього розробки та аналізу алгоритмів. Хоча дуже основні - списки, різні дерева, купи, але я не пам’ятаю, наприклад, про диграфи. Однією з переваг є те, що є безкоштовне завантаження версії Oberon - http://www.inf.ethz.ch/personal/wirth/ - шукайте посилання PDF внизу списку книг. Вікіпедія - це очевидний ресурс, але його настільки багато, що корисно вирішити, що ви хочете, а що - ні, перш ніж їхати туди.


0

Коли ви були дуже гарні з алгоритмами та структурами даних, якими ресурсами ви зверталися?

Наскільки короткий "відносно короткий проміжок часу", який вам потрібен, щоб підтвердити свої знання?

Я не думаю, що знання, отримані самовіддано, коли-небудь зникнуть. Це лише трохи згасне, і ви найкращий суддя, над якими сферами вам потрібно працювати, щоб повернути свою стару доблесть з предметами, які ви колись любили.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.