Coder Social home page Coder Social logo

iamweekend / go-interview Goto Github PK

View Code? Open in Web Editor NEW

This project forked from goavengers/go-interview

0.0 0.0 0.0 281 KB

:octocat: Вопросы и ответы для собеседования Back-end/Golang разработчика и не только

Go 100.00%

go-interview's Introduction

Вопросы и ответы для собеседования Back-end/Golang разработчика и не только

Вместе мы разберемся!

Здесь собирается большая коллеция вопросов и ответов на них, необходимых не только для прохождения собеседований, но и для комплексного развития кругозора

Содержание

  1. Общие вопросы
  2. Вопросы по шаблонам проектирования
    • TODO
  3. Вопросы про микросервисы
    • TODO
  4. Вопросы про инфраструктуру и деплой
    • Что такое сине-зеленый деплой(blue-green deployment)?
    • Что такое Canary (канареечные развертывания)?
    • Что такое Dark (скрытые) или А/В-развертывания?
    • coming soon
  5. Вопросы про кеширование и базам данных
    • Что такое индексы в MySQL, как и для чего их использовать и создавать?
    • Что такое составной индекс, как и для чего их использовать и создавать?
    • Как использовать индексы в JOIN запросах Mysql?
    • Что такое частичные индексы, как и для чего их использовать и создавать?
    • В чем отличия InnoDB и MyISAM?
    • Возможен ли JOIN со вложенными запросами, как?
    • Что такое дедлоки (deadlock), почему возникают, как можно недопускать?
    • Что такое HAVING, что он делает как и зачем его использовать?
    • Разница между WHERE и HAVING и можно ли использовать HAVING без группировки данных?
    • Что такое EXPLAIN?
    • Как узнать версию Mysql?
    • Как можно оптимизировать ORDER BY RAND()?
    • Как удалить индекс MySQL?
    • Как правильно выбрать тип данных в Mysql, когда нужны:
      • NULL значения, когда лучше использовать?
      • Целые числа (TINYINT, SMALLINT, INT, BIGINT) и UNSIGNED, длинна числовых типов?
      • Большие числа: demical, что это и как работает?
      • Float | Double VS Demical, в чем разница, что и как использовать?
      • Строки VARCHAR и CHAR, отличия когда лучше использовать?
      • BLOB / TEXT, чем отличаются, как выполнять сортировку по полям данного типа?
      • ENUM, когда может пригодится?
      • DATETIME / TIMESTAMP, в чем их разница, какие максимальные значения?
    • Когда и зачем может пригодиться денормализация данных?
    • Что такое шардинг и репликация?
    • coming soon
  6. Вопросы по языку Golang
  7. Вопросы о распределённых системах
    • Как тестировать распределённую систему?
    • coming soon
  8. Вопросы по организации кода
    • Как тесты и TDD влияют на организацию кода?
    • В чём разница между сцеплением и связанностью?
    • Почему в TDD тесты пишутся прежде кода?
    • Если у вашего кода плохая организация, как вы это поймёте?
  9. Вопросы от Данила Подольского на позицию Senior Golang Backend Developer в компанию Evrone
    • Go — императивный или декларативный? А в чем разница?
    • Что такое type switch?
    • Как сообщить компилятору, что наш тип реализует интерфейс?
    • Как работает append?
    • Какое у slice zero value? Какие операции над ним возможны?
    • Как устроен тип map?
    • Каков порядок перебора map?
    • Что будет, если читать из закрытого канала?
    • Что будет, если писать в закрытый канал?
    • Как вы отсортируете массив структур по алфавиту по полю Name?
    • Что такое сериализация? Зачем она нужна?
    • Сколько времени в минутах займет у вас написание процедуры обращения односвязного списка?
    • Где следует поместить описание интерфейса: в пакете с реализацией или в пакете, где этот интерфейс используется? Почему?
    • Предположим, ваша функция должна возвращать детализированные Recoverable и Fatal ошибки. Как это реализовано в пакете net? Как это надо делать в современном Go?
    • Главный недостаток стандартного логгера?
    • Есть ли для Go хороший orm? Ответ обоснуйте.
    • Какой у вас любимый линтер?
    • Можно ли использовать один и тот же буфер []byte в нескольких горутинах?
    • Какие типы мьютексов предоставляет stdlib?
    • Что такое lock-free структуры данных, и есть ли в Go такие?
    • Способы поиска проблем производительности на проде?
    • Стандартный набор метрик prometheus в Go -программе?
    • Как встроить стандартный профайлер в свое приложение?
    • Overhead от стандартного профайлера?
    • Почему встраивание — не наследование?
    • Какие средства обобщенного программирования есть в Go?
    • Какие технологические преимущества языка Go вы можете назвать?
    • Какие технологические недостатки языка Go вы можете назвать?
  10. Популярные задачи на собеседованиях

Как мне добавить свой вопрос-ответ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.