Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
python&django.docx
Скачиваний:
30
Добавлен:
13.04.2015
Размер:
81.98 Кб
Скачать

Outer join

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

LEFT OUTER

SELECT *

FROM

Person

LEFT OUTER JOIN

City

ON Person.CityId = City.Id

Результат:

Person.Name

Person.CityId

City.Id

City.Name

Андрей

1

1

Москва

Леонид

2

2

Санкт-Петербург

Сергей

1

1

Москва

Григорий

4

NULL

NULL

RIGHT OUTER JOIN

Оператор правого внешнего соединения RIGHT OUTER JOIN соединяет две таблицы. Порядок таблиц для

SELECT *

FROM

Person

RIGHT OUTER JOIN

City

ON Person.CityId = City.Id

Результат:

Person.Name

Person.CityId

City.Id

City.Name

Андрей

1

1

Москва

Сергей

1

1

Москва

Леонид

2

2

Санкт-Петербург

NULL

NULL

3

Казань

UNIX

50. Можно ли сделать ssh подключение к другому компьютеру с компа, к которому ты итак уже подключен через ssh? как это сделать?

SCM

51. Можно ли удалить коммиты из репозитория в git? Как?

А) делаем откат изменений в репозитории для примера на два коммита назад git reset --hard HEAD~2 Б) Можно сделать до какого-то определенного коммита по хешу git reset --hard HEAD hash

52. Можно ли восстановить коммиты?

создадим ветку с именем recover-branch, указывающую на этот коммит (ab1afef):

$ git branch recover-branch ab1afef

53. Если не известен SHA код, то использовать инструмент под названием git reflog. Во время вашей работы Git записывает все изменения HEAD. Каждый раз при переключении веток и коммите, добавляется запись в reflog.

54. В чем отличие веток git от веток в svn?

Git — распределённая VCS. Это значит, что мы работаем не с одним репозитарием на сервере, а каждый имеет у себя локальную копию репозитария. Соответственно, такие операции, как checkout и commit производятся с локальным репозитарием. Друг с другом же (или с тем, что на сервере) репозитарии синхронизируются специально предназначенными командами pull (fetch) и push.

55. Что такое git reset?

Тег HEAD (англ. «голова», прим. пер.) — как курсор, который обычно указывает на последний коммит, продвигаясь с каждым новым коммитом. Некоторые команды Git позволяют перемещать этот курсор. Например,

$ git reset HEAD~3

переместит HEAD на три коммита назад. Теперь все команды Git будут работать так, как будто вы не делали последних трех коммитов, хотя файлы останутся в текущем состоянии. В справке описано несколько способов использования этого приема.

Но как вернуться назад в будущее? Ведь предыдущие коммиты о нем ничего не знают.

Если у вас есть SHA1 изначальной «головы», то:

$ git reset 1b6d

Но допустим, вы его не записывали. Не беспокойтесь: для комнад такого рода Git сохраняет оригинальную «голову» как тег под названием ORIG_HEAD, и вы можете вернуться надежно и безопасно:

$ git reset ORIG_HEAD

56. Что такое git rebase?

Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. 

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

57. Чем git rebase отличается от git merge?

rebase запоминает коммиты из ветки в виде патчей, «перематывает» текущую ветку (как будто и не было никакого branch) и применяет патчи, оформляя их в виде коммитов. В отличие от rebase, merge делает слияние двух веток в одну.

АЛГОРИТМЫ

58. Что такое сложность алгоритмов? Как вычисляется?

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

Временная эффективность программы определяется временем, необходимым для ее выполнения

59. Какова сложность алгоритма 

for i in x:

for j in y:

i*j

ответ: x*y или n**2

60. Какие алгоритмы сортировки знаете?

Сортировка пузырьком

Сортировка выбором

Шаги алгоритма:

  1. находим номер минимального значения в текущем списке

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

  3. теперь сортируем хвост списка, исключив из рассмотрения уже отсортированные элементы

Сортировка слиянием

  1. Сортируемый массив разбивается на две части примерно одинакового размера;

  2. Каждая из получившихся частей сортируется отдельно, например — тем же самым алгоритмом;

  3. Два упорядоченных массива половинного размера соединяются в один

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]