Рубріки: Истории

Один день из жизни программиста: да, вам обязательно пригодится все, о чем спрашивали на собеседованиях

Павло Бєлавін

Основатель блога Dark Coding, Software Engineer Грэм Кинг поделился рассказом о своем типичном дне на работе. Вот он:

Типичный день программиста

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

Во-первых, как только я приступил к работе, я понял, что ночная смена развернула односвязный список в обратном направлении. О-ох! Я стал быстро придумывать, как это исправить. В итоге, такой проблемы у нас больше не будет, так как вся наша команда скоро перейдет на двунаправленный связанный список. На следующей неделе сообщим об этом руководству.

Затем взял первую задачу из своей рабочей очереди: у одного из наших клиентов есть длинная строка, и им нужно выяснить, содержится ли в ней строка меньшего размера. Это наш хлеб с маслом как инженеров-программистов. Я быстро сделал поиск по алгоритму Рабина — Карпа с помощью скользящего хеша и уже к 10 утра получил ответ.

Перерыв на кофе, а затем задача вторая: команда QA отклонила реализацию сортировки, которую я сделал на прошлой неделе. Я написал базовую сортировку пузырьком, а QA хотел превзойти O(n2) в среднем случае. Нет проблем — я переключился на сортировку слиянием и закончил к обеду.

Это напомнило мне, что я еще не закончил свои вычисления «О» большого (Big O), которые понадобятся для обзора проекта позже на этой неделе. Это и стало моей первой задачей после обеда. Младшие инженеры занимаются только параметром n, я же, как старший инженер, учитываю еще и константу. Мне осталось посчитать еще три функции.

Подошел мой коллега Грег, ему нужна была помощь, чтобы уравновесить дерево. Он использует красно-черное дерево (Red-Black), а это сложно. После быстрой консультации с Дейвом, нашим ведущим инженером, я помог Грегу переключить его дизайн на AVL. У него есть вариант использования, требующий интенсивного поиска, так что это лучший подход.

Ну вот и все, я направился к автобусной остановке, чтобы поехать домой. Но подождите, мой день еще не закончился! Часы у водителя автобуса были сломаны, и ему нужно было отследить 15 минут. К счастью, у меня с собой как раз были две веревки разной плотности, каждая из которых горела ровно час

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

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

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024