Используют ли в FAANG\Big Tech Spring и Spring Boot?
Начну с того, что его не спрашивают на собеседованиях в FAANG. На собеседовании спрашивают алгоритмические задачи, system design и поведенческие вопросы. На system design может понадобиться знание конкретных баз данных, key-value хранилищ и распределенных кэшей. Знание фреймворков типа Spring вас не будут спрашивать. Я начал публиковать вопросы с собеседований по Spring, потому что меня попросили и их могут спрашивать на собеседовании на Java программиста не в Big Tech компании.
Теперь, что касается использование Spring в Big Tech компаниях. Во-первых, далеко не во всех компаниях сильно используется Java. Например, в Facebook, Java используется, в основном, для мобильной разработки под Android. Для Backend тоже используется, но очень редко. В Microsoft тоже предпочитают C++, C#. В Google Go. Но так или иначе на Java и в этих компаниях что-то пишут.
Среди Big Tech в использовании Java выделяются Amazon и Netflix. Там очень много backend на Java. Я работал в Amazon, поэтому расскажу про него. Мы использовали Java в качестве основного языка для backend части. Но в нашей команде Spring не использовался. Мы использовали внутренние тулы и библиотеки, а также среди сторонних библиотек использовали Google Guice для Dependency Injection и Google Guava для локальных кэшей, коллекций и т.д. Но я видел другие команды в Amazon использовали Spring. Правда, в основном, для Dependency Injection. А не, скажем, Spring Boot. Хотя некоторые вещи я видел и даже сделал с использование Spring Boot. Но это скорее исключение, чем правило.
Такие компании предпочитают иметь большую гибкость и переписать любую библиотеку под себя. Spring кастомизируем, но до определенной степени. Крупные компании чаще предпочитают более легковесные сторонние библиотеки и иметь все рычаги управления над кодом.
В Netflix же - очень много Java и в том числе они используют Spring и Spring Boot. Они также сделали много своих внутренних библиотек open source под Java.
Post #317
2.31K