Last active
February 5, 2024 21:55
-
-
Save Magons/16370f731cf790b94d60b4d55670a235 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Привет. У меня спрашивали в основном все что спрашивают везде. Единственное было два сложных вопроса: | |
1. Описать все что происходит когда грузится страница в браузере. Типа от отправляется запрос на dns, после его обрабатывает веб сервер и тд уже в рельсу | |
2. Если вдруг появится репорт что медленно работает фронт, то с чего начну деббагинг | |
Знание React ( работал или нет ) | |
Lambda , proc, block | |
Service Object - что это и тд | |
http пакет, из чего состоит | |
http vs soap | |
микросервисы vs монолит | |
each vs for | |
Sidekiq - что такое, как работает нах нужен | |
Elastic Search - что такое, как работает нах нужен | |
написать свою реализацию map, inject ( на руби через each ) | |
TEST: | |
⁃ Почему Elexir - на чем основывался выбор? | |
⁃ Elexir(Erlang) vs Ruby - плюсы/минусы? ( телефоны ) | |
⁃ Самая сложная задача | |
⁃ Самый большой факап? | |
⁃ Откуда получаешь инфу | |
⁃ Какими проектами занимался? - Что ты там делал? | |
⁃ Какие паттерны ты знаешь - какие применял ? какие встречал в руби-рельсы или вообще сам делал ? | |
⁃ Rails vs Hanami vs Sinatra | |
⁃ Rails - что не нравится? ( колбеки, аццепт нестед аттрибутес, default_scope ) | |
⁃ Как работает B-tree | |
⁃ Как работает Hash-table O(1) | |
⁃ GIT, Threads, Parallelism vs Concurrency, Thread-safe? | |
⁃ Какие технологии хотел бы выучить в ближайшее время? ( DDD, TDD, SQRS, RXjs? ) | |
ТЕСТЫ: На чем пишешь? пишешь ли тесты? - ЗАЧЕМ? Rspec, Minitest | |
ТЕСТЫ: Unit VS Integration | |
ТЕСТЫ: TDD vs BDD? | |
ТЕСТЫ: Capybara - писал ли тесты ? | |
ТЕСТЫ: Hooks: Before, After, and Around | |
ТЕСТЫ: Shared Examples | |
ТЕСТЫ: Factories | |
ТЕСТЫ: Mocks, Stubs | |
ТЕСТЫ: Как рабоать с отложенными задачами в RSPEC? | |
ТЕСТЫ: SimpleCov | |
ТЕСТЫ: VCR | |
GIT: Работал ли когда-то в команде? | |
GIT: Rebase vs Merge | |
GIT: Rebase -i | |
SQL: PostgreSQL vs MySQL ( | |
Scheme - нет в MySQL - т.е. Мультитенанси не создашь в MySQL | |
Materialized view НЕТ в MySQL | |
JSON - нет в MySql(last version), | |
GroupBy - не работает в MySql, | |
Mass Update, | |
UUID(last version) | |
) | |
SQL: Having vs Where ( SQL view ) | |
SQL: joins, includes, preload, and eager_load | |
SQL: pluck | |
SQL: Партиционирование шардироыание | |
SQL: Какую базу предпочитаешь? Отличия? | |
SQL: Реляционные базы, Документные, Key-value ( Indexed DB, Firebase, MOngo DB ) | |
SQL Есть БД - идет долгий запрос, как ускорить? ( Explain and ANALYZE, Indexes, SQL View ) | |
SQL: JSONB vs Serialize | |
Ruby: Три кита ООП: Inheritance, Polymorphism, - Abstraction | |
Ruby: De-coupling, Тесное связывание обьектов, чем плохо? | |
RUBY: MVC | |
RUBY: KISS, SOLID | |
RUBY: Query Object, Value Object, Callable Object? | |
RUBY: O(1), O(n) | |
RUBY: Reject, linked list | |
RUBY: Ruby Linked List | |
RUBY: Modul vs CLASS | |
RUBY: include vs exclude | |
Ruby's Exception vs StandardError: What's the difference? | |
RAILS: за что отвечает модель, контроллер, вьюха - толстый контроллер тонкая модель и наоборот. | |
RAILS: Choosing Between belongs_to and has_one | |
RAILS: Conditional Validation | |
RAILS: Callbacks Overview | |
RAILS: Polymorphic Associations | |
RAILS: STI | |
RAILS: Redis | |
RAILS: Arel | |
RAILS: как работает сессия куки ? | |
RAILS: CSRF, XSS, виды атак. | |
RAILS: Rspec ? Моки стабы в тестах чем отличаются? Писал ли их? | |
RAILS: Background Jobs (Resque, Sidekiq, Delayed Job) | |
RAILS: method_missing | |
RAILS: define/undefine methods, alias | |
RAILS: Block, Proc, Lambda | |
RAILS: Singleton and Class Methods | |
RAILS: Rack | |
RAILS: Middleware | |
JS: JQUERY | |
JS: React | |
JS: Ajax | |
JS: JSON, JSONb, | |
DDD - ? | |
CQRS - Command query segregation? | |
Event Store - ? | |
Задачи: | |
1. Залить фотки ( в бекграунде, с пост обработкой ) | |
2. Есть ссылки - распарсить надо | |
3. Eсть емейлы - надо разослать миллиард - как? ( Sidekiq | Spam Filter ) | |
>>>>>>>> Graphql language to communicate Cliend and serves | |
>>>>> Mongo DB | |
>>>> Rails callbacks | accept_nested_attribute | | |
Функциональное программирование | |
? SOLID | |
—————— | |
json-p (padding) | |
JS - Наследование какое - чем отличается ? | |
proto vs prototype | |
function F(A,B) { | |
return A+B | |
} | |
var f = function(A,B) { | |
return A+B | |
} | |
shadow dom vs virtual dom | |
Callback hell - отличие коллбеков vs promises vs async avait | |
————— | |
private vs public vs protected | |
protected - ведет себя как приват - из вне низя дернуть | |
A.new.protected - will fail | |
а внутри класса он может быть вызван с Self или без - ему пофик | |
ведет себя как public и как private. | |
————— | |
https://medium.com/@leo_hetsch/ruby-modules-include-vs-prepend-vs-extend-f09837a5b073 | |
——————————————————— | |
вот это мой список который я спрашивал ( и по которому я готовлюсь ) | |
Ruby | |
3 принципа ООП | |
реализация множественного наследования в ruby | |
duck typing | |
многопоточность в ruby | |
Differences between Procs and Lambdas | |
Rails | |
что такое MVC и зачем это нужно | |
локига в контроллере, должна ли быть и почему | |
синхронные и асинхронные операции — предложить варианты решения | |
назначение миграций | |
Тесты | |
зачем нужны | |
что такое TDD | |
Web специфика | |
javascript, опыт работы с ним, используемые библиотеки | |
Настройка http-серверов | |
nginx, его отличие от apache | |
балансировка нагрузки на сервера приложений (haproxy) | |
Базы данных | |
Общие вопросы | |
транзакции | |
блокировочные и версионные СУБД | |
индексы (зачем нужны, плюсы и минусы) | |
репликация | |
шардинг (партиционирование) | |
типичные bottle necks | |
синхронные и асинхронные операции | |
Организация разработки | |
Система контроля версий | |
зачем нужна | |
какими пользовались | |
Git (если есть опыт) | |
как перенести изменени из одной ветку в другую (2 способа) | |
зачем нужна команда git rebase | |
разница между git и svn (если есть) | |
Задачи | |
Числа Фибоначчи – это ряд чисел, в котором каждое последующее число равно сумме двух предыдущих: 1, 1, 2, 3, 5, 8, 13 и т.д. | |
Формула: | |
F1 = 1 | |
F2 = 1 | |
Fn = Fn-1 + Fn-2 | |
Пример вычисления: | |
F3 = F2 + F1 = 1 + 1 = 2 | |
F4 = F3 + F2 = 2 + 1 = 3 | |
F5 = F4 + F3 = 3 + 2 = 5 | |
F6 = F5 + F4 = 5 + 3 = 8 | |
и т.д. | |
def fibonacci(n) | |
return 1 if ((n==0) || (n==1)) | |
fibonacci(n-1) + fibonacci(n-2) | |
end | |
def fib(n) | |
n < 2 ? n : fib(n-1) + fib(n-2) | |
end | |
puts fibonaci(10) | |
So without concerns this how a typical module will be. | |
``` | |
module M | |
def self.included(base) | |
base.extend ClassMethods | |
base.class_eval do | |
scope :disabled, -> { where(disabled: true) } | |
end | |
end | |
def instance_method | |
... | |
end | |
module ClassMethods | |
... | |
end | |
end | |
``` | |
After refactoring with ActiveSupport::Concern. | |
``` | |
require 'active_support/concern' | |
module M | |
extend ActiveSupport::Concern | |
included do | |
scope :disabled, -> { where(disabled: true) } | |
end | |
class_methods do | |
... | |
end | |
def instance_method | |
... | |
end | |
end | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment