В одно касание

~ 2 ~

В конце книги добавлен глоссарий с наиболее важными терминами, которые встречаются в области IT, включая терминологию языков программирования, бизнес-сленг, распространенные инструменты программной инженерии и многое другое. Мы считаем, что с его помощью вы сможете разговаривать как настоящий технарь, а также использовать его в качестве справочника для дальнейшего развития.

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

Кто мы

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

Каждый из нас имеет опыт работы продакт-менеджером в крупнейших IT-компаниях, но все мы проработали в разных сферах информационных технологий: Нил – в государственном и некоммерческом секторе, Ади – в мире стартапов, а Парт узнал эту среду со стороны бизнеса и маркетинга. Надеемся, что вам пригодятся наш совместный опыт и идеи. Вот еще немного о том, кто мы такие.

Нил Мехта – продакт-менеджер в Google. Работал в Microsoft, Академии Хана и Бюро переписи населения США, где запустил первую полностью финансируемую программу стажировки по информационным технологиям в федеральном правительстве. С отличием окончил Гарвардский университет.

Адитья Агаше – продакт-менеджер в Microsoft. Ранее основал Belle Applications, где занимал должность CEO. С отличием окончил Корнеллский университет.

Парт Детройя – продакт-менеджер в Facebook. Работал продакт-менеджером и маркетологом в Microsoft, Amazon и IBM. С отличием окончил Корнеллский университет.

Примечание для соискателей

Прежде чем вы приступите к чтению, мы подготовили для вас несколько советов и ресурсов на тот случай, если вы хотите работать в IT-компании, но не претендуете на должность программиста.

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

Например, в книге мы объясним, как Google создает контекстную рекламу и почему Microsoft купила LinkedIn. Возможно, интервьюеры вас об этом и не спросят, но они могут задать вопрос о том, как увеличить доход от рекламы для определенной возрастной группы или как улучшить корпоративные продукты Microsoft – в этом случае эти примеры помогут дать более содержательные ответы и показать глубину ваших знаний.

Цель этой книги заключается не в том, чтобы научить вас проходить собеседование, а в том, чтобы вы научились думать как специалист по технологиям. Одни лишь примеры вопросов для собеседования не помогут научиться мыслить рационально об IT или полностью разобраться в технических концепциях, а книга «В одно касание» – поможет.

Дополнительные полезные советы по подготовке к собеседованию, созданию резюме, профессиональным знакомствам и выбору работы можно найти на сайте swipetounlock.com/resources, где мы делимся ссылками на некоторые полезные книги и статьи.

Спасибо!

Какие бы цели вы ни преследовали – личные, академические или карьерные, – мы надеемся, что наша книга окажется полезной. Еще раз спасибо за выбор, надеемся, что вам понравится!

Нил Мехта

namehta.com

linkedin.com/in/neelmehta18

Адитья Агаше

adityaagashe.com

linkedin.com/in/adityaagashe

quora.com/profile/Adi-Agashe

Парт Детройя

parthdetroja.com

linkedin.com/in/parthdetroja

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу comp@piter.com (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.

Глава 1. Разработка программного обеспечения

Начнем исследование мира технологий с изучения приложений, которыми вы каждый день пользуетесь. Кажется, что Netflix и Microsoft Excel различаются, но, по сути, они оба построены из одних и тех же строительных блоков. Мы заявляем, что каждое приложение сделано из одинаковых составляющих. Из каких? Читайте дальше.

Как работает поиск в Google?

Каждый раз при создании запроса в Google поисковая система просматривает более 30 триллионов страниц в интернете и находит первые 10 результатов. В 92 % случаев пользователь выбирает результат на первой странице (то есть топ-10). Найти 10 лучших из 30 триллионов результатов действительно сложно – почти так же сложно, как случайно найти монетку, упавшую где-то в Нью-Йорке. Тем не менее Google успешно делает это за полсекунды. Но как?

На самом деле Google не посещает каждую страницу в интернете каждый раз, когда создается какой-то запрос. Google фактически хранит информацию о страницах в базах данных (таблицы информации, как в Excel) и использует алгоритмы, считывающие эти базы данных, чтобы решить, что показать пользователю. Алгоритмы – это просто ряд заданных правил. У людей может быть встроен «алгоритм» для создания бутерброда с маслом и сыром, в то время как на компьютерах Google есть алгоритмы для поиска страниц на основе поискового запроса.

Веб-паук

Алгоритм начинается с создания базы данных каждой страницы в интернете. Google использует программы, называемые «пауками», которые «ползут» по страницам, пока не найдут их все (или, по крайней мере, пока Google не решит, что этого достаточно). «Пауки» начинают с нескольких страниц и добавляют их в список страниц Google, называемый индексом. Затем они переходят по всем исходящим ссылкам на этих страницах и находят новый набор страниц, который добавляют в индекс. Далее они переходят по всем ссылкам уже на новых страницах и так далее, пока Google не найдет что-нибудь еще.

Это непрерывный процесс; Google всегда добавляет новые страницы в индекс или обновляет их, если они меняются. Индекс огромен, он весит более 100 млн ГБ. Для того чтобы поместить его на внешнем жестком диске объемом 1 ТБ, потребовалось бы 100 тысяч таких дисков, а если поставить их друг на друга, высота составит примерно 1,5 км.

Поиск слова

Поиск в Google работает таким образом: он принимает запрос (текст, введенный в строку поиска) и просматривает индекс, чтобы найти наиболее подходящие страницы. Как Google это делает? Самый простой способ – найти определенное ключевое слово, что-то вроде нажатия Ctrl+F или Cmd+F для поиска в гигантском документе Word. Именно так работали поисковые системы 1990-х годов: они искали запрос в своем индексе и отображали страницы с наибольшим количеством совпадений, атрибут, называющийся плотностью ключевых слов.

Как выяснилось, эту схему довольно легко обойти. Если ввести в поисковую строку «шоколадный батончик Snickers», то можно предположить, что snickers.com окажется в списке первых найденных страниц. Но если поисковая система просто считала количество повторяющихся слов «сникерс» на странице, кто-то мог бы создать «левую» страницу со словом «сникерс, сникерс, сникерс, сникерс» и т. д., и таким образом она бы оказалась в числе первых в результатах поиска. Очевидно, что такая страница окажется не очень полезной.

PageRank

Взамен алгоритма плотности ключевых слов основным нововведением Google стал алгоритм под названием PageRank, созданный Ларри Пейджем и Сергеем Брином в 1998 году в рамках работы над кандидатской диссертацией. Пейдж и Брин обратили внимание, что оценить приоритетность страницы можно, посмотрев на другие важные страницы, со ссылкой на нее. Это словно, находясь на вечеринке, узнать, что кто-то популярен, увидев этого человека, окруженного другими известными людьми. PageRank присваивает каждой странице оценку на основании других своих оценок, данных всем остальным страницам, которые дают ссылку на эту страницу. (Оценка тех страниц зависит от других страниц, которые дают на них ссылку, и т. д.; это рассчитывается с помощью линейной алгебры.)

Например, в случае создания новой страницы об Аврааме Линкольне, ее PageRank был бы очень низким. Но если бы какой-нибудь малоизвестный блог добавил ссылку на эту страницу, это повысило бы ее PageRank. PageRank больше заботится о качестве входящих ссылок, чем об их количестве, поэтому даже если десятки непопулярных блогов дадут ссылку на эту страницу, пользы будет мало. Но если бы газета New York Times (которая, скорее всего, имеет высокий PageRank) дала бы ссылку на нее, то ее PageRank взлетел бы.


[1] Ссылки на источники вы можете найти на сайте издательства piter.com. – Примеч. ред.