Один день из жизни программиста: да, вам обязательно пригодится все, о чем спрашивали на собеседованиях
Основатель блога Dark Coding, Software Engineer Грэм Кинг поделился рассказом о своем типичном дне на работе. Вот он:
Типичный день программиста
Если вы новичок в профессии, проходите собеседования на вакансию программиста и хотите знать, на что похож обычный день на работе, то вот мои заметки о том, что я сделал в прошлый вторник. Это был вполне типичный день.
Во-первых, как только я приступил к работе, я понял, что ночная смена развернула односвязный список в обратном направлении. О-ох! Я стал быстро придумывать, как это исправить. В итоге, такой проблемы у нас больше не будет, так как вся наша команда скоро перейдет на двунаправленный связанный список. На следующей неделе сообщим об этом руководству.
Затем взял первую задачу из своей рабочей очереди: у одного из наших клиентов есть длинная строка, и им нужно выяснить, содержится ли в ней строка меньшего размера. Это наш хлеб с маслом как инженеров-программистов. Я быстро сделал поиск по алгоритму Рабина — Карпа с помощью скользящего хеша и уже к 10 утра получил ответ.
Перерыв на кофе, а затем задача вторая: команда QA отклонила реализацию сортировки, которую я сделал на прошлой неделе. Я написал базовую сортировку пузырьком, а QA хотел превзойти O(n2) в среднем случае. Нет проблем — я переключился на сортировку слиянием и закончил к обеду.
Это напомнило мне, что я еще не закончил свои вычисления «О» большого (Big O), которые понадобятся для обзора проекта позже на этой неделе. Это и стало моей первой задачей после обеда. Младшие инженеры занимаются только параметром n, я же, как старший инженер, учитываю еще и константу. Мне осталось посчитать еще три функции.
Подошел мой коллега Грег, ему нужна была помощь, чтобы уравновесить дерево. Он использует красно-черное дерево (Red-Black), а это сложно. После быстрой консультации с Дейвом, нашим ведущим инженером, я помог Грегу переключить его дизайн на AVL. У него есть вариант использования, требующий интенсивного поиска, так что это лучший подход.
Ну вот и все, я направился к автобусной остановке, чтобы поехать домой. Но подождите, мой день еще не закончился! Часы у водителя автобуса были сломаны, и ему нужно было отследить 15 минут. К счастью, у меня с собой как раз были две веревки разной плотности, каждая из которых горела ровно час…
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: