CODERIKK
91 subscribers
68 photos
59 links
Лучший авторский контент 💙
По вопросам: @AgentCoderikkBot
Изучаем Python, SQL и tg-ботов
Download Telegram
Вопросы с собеседований #2 🙋🏼‍♂️

Коллега попросил закоммитить часть кода, отвечающую за взаимодействие с серверной частью приложения. Какую команду используете в этом процессе?

Какой ответ:
1) git rebase --onto
2) git cherry-pick
3) git reset --soft
4) git stash
5) git add -p


Ответ:
В данном случае наиболее подходящая команда будет «git add -p»


🔹Эта команда позволяет интерактивно выбирать части изменений в файлах, которые необходимо добавить в индекс (staging area). Это особенно полезно, когда вы хотите закоммитить только часть изменений в файле или выбрать конкретные изменения для коммита.

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

#CODERIKK #GIT #Вопросы #Собеседование
🔥2👾11
Вопросы с собеседований #3 🙋🏼‍♂️

Вы хотите откатить последний коммит и при этом не сохранять изменения в рабочей директории. Какую команду используете?

Какой ответ:
1) git reset --hard HEAD
2) git checkout HEAD~
3) git stash
4) git commit –amend
5) git revert HEAD


Ответ:
В данном случае наиболее подходящая команда будет «git reset --hard HEAD»


🔸Эта команда откатит последний коммит и приведет рабочую директорию к состоянию, соответствующему состоянию после предыдущего коммита. Все изменения, внесенные в последнем коммите, будут удалены как из индекса, так и из рабочей директории.

#CODERIKK #GIT #Вопросы #Собеседование
1🔥1🤩1
Вопросы с собеседований #4 🙋🏼‍♂️

В вашем проекте произошел конфликт изменений. Какая из команд позволит объединить изменения в одну ветку?

Какой ответ:
1) git pull
2) git commit
3) git push
4) git add
5) git merge


Ответ:
В данном случае наиболее подходящая команда для объединения изменений в одну ветку будет «git merge»


🔸Если в процессе слияния возникнут конфликты, вам нужно будет разрешить их в проблемных файлах, затем добавить измененные файлы в индекс с помощью git add и завершить процесс коммитом. Таким образом, команда git merge используется для объединения изменений из одной ветки в другую и разрешения конфликтов.

#CODERIKK #GIT #Вопросы #Собеседование
🐳2🔥1
Вопросы с собеседований #5 🙋🏼‍♂️

Как перенести коммит из одной ветки в другую в Git?

1) git rebase -i commit-id
2) git merge branchname
3) git rebase
4) git reset --hard commit-id
5) git cherry-pick commit-id


Ответ:
Для переноса коммита из одной ветки в другую в Git наиболее подходящая команда будет «git cherry-pick commit-id»


🔸Эта команда позволяет выбрать конкретный коммит из одной ветки и применить его к другой ветке.

#CODERIKK #GIT #Вопросы #Собеседование
1🔥1
Вопросы с собеседований #6 🙋🏼‍♂️

Вы начали работу над учебным проектом — вы работаете над ним самостоятельно, без участия команды. Какой вариант слияния лучше подойдет для индивидуальной разработки?

1) Merge
2) Cherry-pick
3) Rebase
4) Squash
5) Amend


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


🔸Использование команды этой команды позволяет создать линейную и чистую историю коммитов, что делает её более понятной и удобной для анализа. Поскольку вы работаете в одиночку, вам не нужно беспокоиться о потенциальных конфликтах с коллегами, и вы можете легко управлять историей своих изменений.

#CODERIKK #GIT #Вопросы #Собеседование
🎉1🤩1
Вопросы с собеседований #7 🙋🏼‍♂️

Как выполнить объединение изменений в Git?

1) git commit -m "commit message"
2) git rebase -m.
3) git merge branchname
4) git remote add origin https://github.com/user/my-repo.git
5) git checkout -b branchname


Ответ:
Для выполнения объединения изменений в Git наиболее подходящая команда «git merge branchname»


🔸Эта команда объединяет изменения из указанной ветки (branchname) в текущую ветку.

#CODERIKK #GIT #Вопросы #Собеседование
1🔥1🤩1
Вопросы с собеседований #8🙋🏼‍♂️

Вы хотите проверить новые изменения в удаленном репозитории, но не хотите загружать их на локальную машину. Какая команда поможет это сделать?

1) git pull
2) git fetch
3) get remote update
4) git push
5) git clone


Ответ:
Для проверки новых изменений в удаленном репозитории без загрузки их на локальную машину наиболее подходящая команда «git fetch»


🔸 Эта команда загружает новые данные из удаленного репозитория, обновляя информацию о ветках и коммитах, но не изменяет файлы в вашей рабочей директории и не сливает изменения автоматически.

#CODERIKK #GIT #Вопросы #Собеседование
🔥2
Вопросы с собеседований #9🙋🏼‍♂️

Какие типы данных есть в python?
На какие классы делятся?


В Python есть такие типы данных:
🔸Числа: int, float, и complex.
🔸Строки: str.
🔸Списки: list.
🔸Кортежи: tuple.
🔸Словари: dict.
🔸Множества: set.
🔸Булевы значения: bool

Эти типы данных можно объединить в такие группы:
🔹Числовые типы данных: int, float, и complex.
🔹Строковые типы данных: str.
🔹Коллекции: list, tuple, dict, и set.
🔹Булевы типы данных: bool.

#CODERIKK #GIT #Вопросы #Собеседование
2🔥2
Вопросы с собеседований #10🙋🏼‍♂️

В чём разница между типами list и tuple?

🔸Основная разница между ними заключается в том, что список может быть изменен (мутабельный тип), а кортеж является неизменяемым (иммутабельным типом).

🔹То есть, после создания кортежа, вы не можете изменять его содержимое, добавлять или удалять элементы. Это делает кортежи более эффективными по памяти и дает гарантию того, что их содержимое не будет изменено случайно в коде. За счет того, что кортежи являются неизменным типом данных, они обрабатываются быстрее, чем списки.

🔹В то время как список может быть изменен, что было бы очень полезно, если вам нужна коллекция элементов, которые вы можете изменять по ходу выполнения кода.

#CODERIKK #GIT #Вопросы #Собеседование
🔥21
Вопросы с собеседований #11🙋🏼‍♂️

Что такое *args и **kwargs в определении функции?


*args и kwargs – это специальные параметры в Python, которые позволяют передавать переменное количество аргументов в функцию.

🔸Параметр *args используется для передачи переменного количества аргументов без ключевого слова. Он представляет собой кортеж из всех дополнительных аргументов, переданных функции.

🔸Параметр **kwargs используется для передачи переменного количества именованных аргументов. Он представляет собой словарь из всех дополнительных именованных аргументов, переданных функции.

🔹Cимвол * и могут использоваться в определении функций для указания переменного числа аргументов, которые могут быть переданы в функцию.

🔹Символ * перед именем параметра означает, что все позиционные аргументы, которые не были использованы при определении других параметров, будут собраны в кортеж, который можно будет использовать внутри функции. Такой параметр называется *args.

🔹Символ ** перед именем параметра означает, что все именованные аргументы, которые не были использованы при определении других параметров, будут собраны в
словарь, который можно будет использовать внутри функции. Такой параметр называется **kwargs.

#CODERIKK #GIT #Вопросы #Собеседование
1🔥1
Вопросы с собеседований #12🙋🏼‍♂️

Что такое декоратор?

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

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

🔸Основная суть: по сути декоратор принимает на вход другую функцию и позволяет её модифицировать снаружи, не меняя внутренней реализации самой функции.

#CODERIKK #GIT #Вопросы #Собеседование
🔥21
Вопросы с собеседований #13🙋🏼‍♂️

Для чего используется дандер-метод init?


🔸Функция (дандер-метод, если точнее) init является конструктором класса, и она вызывается автоматически при создании нового экземпляра класса. init используется для инициализации атрибутов, которые будут принадлежать объектам, создаваемым с помощью класса.

🔹Внутри функции init определяются атрибуты объекта, которые будут доступны через ссылку на экземпляр, на который ссылается переменная self.

🔹Суть: когда мы создаем новый объект, мы передаем эти аргументы в функцию init, чтобы инициализировать соответствующие атрибуты.

#CODERIKK #GIT #Вопросы #Собеседование
🔥21
Вопросы с собеседований #14🙋🏼‍♂️

Что такое @classmethod, @staticmethod, @property?

🔸@classmethod, @staticmethod, and @property – это декораторы методов класса в языке Python.

🔹@classmethod используется для создания методов, которые будут работать с классом в целом, а не с отдельным экземпляром. В качестве первого параметра этот метод принимает класс, а не экземпляр объекта, и часто используется для создания фабричных методов и методов, которые работают с класс-уровнем методов.

🔹@staticmethod декоратор работает подобно @classmethod, но он не получает доступ к классу в качестве первого параметра.

🔹@property декоратор используется для создания свойств объекта, которые можно получить и задать, но выглядят как обычные атрибуты объекта. Это позволяет управлять доступом к атрибутам объекта, установив условиями доступа и возможностью заложить дополнительную логику при чтении, установке или удалении атрибута.

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

#CODERIKK #GIT #Вопросы #Собеседование
🔥21
Вопросы с собеседований #15🙋🏼‍♂️

Что такое итератор и генератор?

🔸Итератор (Iterator) — это объект, который возвращает свои элементы по одному за раз.

🔹Он должен иметь метод next(), который возвращает следующий элемент и вызывает исключение StopIteration, когда элементы закончились. Итератор также может быть написан с помощью генераторов.

🔸Еще один способ создания итераторов в Python — использование генераторов. Генератор — это функция, которая возвращает итерируемый объект (такой, как список или кортеж). Вместо того, чтобы возвращать все элементы сразу, генератор возвращает элементы по одному по мере необходимости.

#CODERIKK #GIT #Вопросы #Собеседование
1🔥1
Вопросы с собеседований #16🙋🏼‍♂️

Что такое генератор? Чем отличается от итератора?


🔸Генератор – это функция, которая использует ключевое слово yield для возврата итератора.

🔹Генератор может быть использован для создания последовательности значений, которые генерируются в момент обращения к ним, что позволяет эффективно использовать память и ускоряет выполнение программы. Короче, генератор основан на тех самых “ленивых” (отложенных) вычислениях.

🔸Отличие генератора от итератора заключается в том, что итератор используется для обхода коллекции (например, списка) до тех пор, пока все элементы не будут перебраны, а генератор используется для создания последовательности значений.

🔹Итераторы также могут быть созданы как классы, которые реализуют методы iter() и
next(), в то время как генераторы создаются при помощи функций и используют ключевое слово yield.

#CODERIKK #GIT #Вопросы #Собеседование
🔥21
Вопросы с собеседований #17🙋🏼‍♂️

Для чего используется ключевое слово yield?


🔸Ключевое слово yield используется для создания генераторов.

🔸Генератор – это функция, которая может возвращать последовательность значений используя инструкции yield вместо return. При каждом вызове инструкции yield генератор возвращает значение, после чего сохраняет свое состояние и приостанавливает свое выполнение до следующего вызова.

🔹Это позволяет генерировать последовательности значений без необходимости создания и хранения всех значений в памяти, что может быть особенно полезно при работе с большими объемами данных. Кроме того, генераторы являются итерируемыми и могут использоваться в циклах for.

#CODERIKK #GIT #Вопросы #Собеседование
🔥21