Книга «В одно касание» разбита на три больших раздела. В главах с 1 по 4 описываются основы технологии: как устроено программное обеспечение, как работает интернет, а также рассмотрены бизнес-модели крупных приложений. В главах с 5 по 8 содержится информация об основных компонентах мира технологий: большие данные, облачные вычисления, конфиденциальность и т. п. В основе глав с 9 по 12 лежат две предыдущие главы и более подробно описываются тренды, анализ и прогнозирование: бизнес-стратегия, динамично растущие рынки, политика технологий и перспективы в этой области.
Каждая глава содержит в основе информацию из предыдущей, поэтому, если вы новичок в технологиях, то рекомендуем читать книгу по порядку. Если вы уже имеете какой-то опыт, то, не раздумывая, переходите к тем примерам, которые кажутся наиболее интересными, – каждый из них можно рассматривать независимо от всех остальных. Конечно, если у вас есть необходимое представление о предмете.
В конце книги добавлен глоссарий с наиболее важными терминами, которые встречаются в области 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 вы найдете подробную информацию о наших книгах.
Начнем исследование мира технологий с изучения приложений, которыми вы каждый день пользуетесь. Кажется, что Netflix и Microsoft Excel различаются, но, по сути, они оба построены из одних и тех же строительных блоков. Мы заявляем, что каждое приложение сделано из одинаковых составляющих. Из каких? Читайте дальше.
Каждый раз при создании запроса в 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 окажется в списке первых найденных страниц. Но если поисковая система просто считала количество повторяющихся слов «сникерс» на странице, кто-то мог бы создать «левую» страницу со словом «сникерс, сникерс, сникерс, сникерс» и т. д., и таким образом она бы оказалась в числе первых в результатах поиска. Очевидно, что такая страница окажется не очень полезной.
Взамен алгоритма плотности ключевых слов основным нововведением Google стал алгоритм под названием PageRank, созданный Ларри Пейджем и Сергеем Брином в 1998 году в рамках работы над кандидатской диссертацией. Пейдж и Брин обратили внимание, что оценить приоритетность страницы можно, посмотрев на другие важные страницы, со ссылкой на нее. Это словно, находясь на вечеринке, узнать, что кто-то популярен, увидев этого человека, окруженного другими известными людьми. PageRank присваивает каждой странице оценку на основании других своих оценок, данных всем остальным страницам, которые дают ссылку на эту страницу. (Оценка тех страниц зависит от других страниц, которые дают на них ссылку, и т. д.; это рассчитывается с помощью линейной алгебры.)
Например, в случае создания новой страницы об Аврааме Линкольне, ее PageRank был бы очень низким. Но если бы какой-нибудь малоизвестный блог добавил ссылку на эту страницу, это повысило бы ее PageRank. PageRank больше заботится о качестве входящих ссылок, чем об их количестве, поэтому даже если десятки непопулярных блогов дадут ссылку на эту страницу, пользы будет мало. Но если бы газета New York Times (которая, скорее всего, имеет высокий PageRank) дала бы ссылку на нее, то ее PageRank взлетел бы.
Как только Google находит в своем индексе все страницы, в которых упоминается поисковый запрос, он ранжирует их по нескольким критериям, включая PageRank. У Google также есть много других критериев: он учитывает последнее обновление страницы, пропускает веб-сайты, похожие на спам (например, сайт «сникерс, сникерс, сникерс, сникерс», о котором писалось выше), учитывает местоположение (он может выдать сайт Национальной футбольной лиги, если пользователь ввел запрос «футбол» и при этом находится в США, и Английскую Премьер-лигу, если он ввел аналогичный запрос, находясь в Англии) и многое другое.
О проекте
О подписке