Модель OSI 7 уровней (TCP 4 уровня)
HTTP
TCP/IP
BIO/NIO/AIO
Стратегии резервного копирования- RAID## 4. Управление сервисами Linux
Индексы (включая типы, методы оптимизации, условия истощения, структуру на уровне базы данных) Mysql индексы
Синтаксис SQL (join, union, подзапросы, having, group by)
Сравнение движков (InnoDB, MyISAM)
Закрытие баз данных (строковый блок, таблицный блок, страницный блок, намеренный блок, чтение блок, запись блок, пессимистичный блок, оптимистичный блок, а также методы добавления блока с помощью select sql)
Уровни изоляции, последовательно решаемые проблемы (грязное чтение, не повторяемое чтение, фантомное чтение)
Свойства транзакций ACID
Деревья B и B+
Оптимизация (explain, медленные запросы, show profile)
Нормальные формы баз данных
Разделение баз данных (Mysql репликация, чтение и запись) Mysql репликация, чтение и запись
NoSQL (различия между Redis и Memcached, если вы знакомы с Redis, то есть еще множество вопросов) Redis## 5. Алгоритмы и структуры данных
Массивы, связные списки, двоичные деревья, очереди, стеки и их различные операции (производительность, сценарии)
Двоичный поиск и различные его модификации
Различные алгоритмы сортировки и анализ их сложности (быстрая сортировка, сортировка слиянием, сортировка кучей)
Решение задач на написание различных алгоритмов
Понимание и анализ временной и пространственной сложности
Динамическое программирование, жадные алгоритмы
Красно-черные деревья, деревья AVL, деревья хэш-таблиц, деревья tries, деревья B, деревья B+
Алгоритмы работы с графами (немного, два алгоритма поиска кратчайшего пути)
ElasticSearch: разделение мозга
Классические вопросы на собеседование по сетям
Классические вопросы на собеседование по Linux### 1. Вопросы по сетям:
Объясните принципы разграничения прав в Linux.
Если пользователь user1 имеет права записи и выполнения на директорию /testdir, могут ли файлы в этой директории, имеющие только права чтения, быть изменены или удалены?
Если у системы отсутствует стратегия резервного копирования, напишите полный и рациональный план резервного копирования.
Веб-серверы генерируют большое количество логов каждый день. Как вы будете делать резервное копирование?
Опишите особенности и принцип работы RAID 0, RAID 1 и RAID 5.
Опишите особенности и принцип работы RAID 6 и RAID 10.
В чем разница между программным RAID и аппаратным RAID?
В Linux есть множество системных ресурсов, которые требуют мониторинга. Какие команды можно использовать для просмотра этих ресурсов?9. Опишите процесс запуска CentOS 6.x.
Опишите процесс запуска CentOS 7.x.
Как можно оптимизировать систему Linux?
http://www.baidu.com/index.html
https://www.4399.com/index.html
http://www.sina.com.cn/1024.html
https://www.4399.com/2048.html
http://www.sina.com.cn/4096.html
https://www.4399.com/8192.html
Ответ:
cat b.txt | cut -d "/" -f 3 | sort | uniq -c | sort -nr
cut -d "/" -f 3: разделяет строку по символу "/" и извлекает третий элемент
uniq -c: выводит количество повторений каждого элемента
sort -nr: сортирует по числовому значению в порядке убывания
Подсчитайте текущие IP-адреса, которые подключены к серверу, и отсортируйте их по количеству подключений.
Используя цикл, создайте 10 текстовых файлов в директории /test. Имена файлов должны состоять из 6 случайных строчных букв и фиксированной строки (_gg), например: pzjebg_gg.txt.
#!/bin/bash
if [ ! -d /test ] # проверяем, существует ли директория
then
mkdir /test
fi
cd /test # переходим в директорию
for (( i=1;i<=10;i++ )) # цикл 10 раз, каждый раз создаем файл с 6 случайными буквами
do
filename=$(tr -dc 'a-z' < /dev/urandom | head -c 6)
touch "$filename"_gg.txt
done
Генерация случайного числа.
Проверка множества веб-сайтов на доступность с использованием массива shell. Тестирование должно быть максимально близко к реальному пользовательскому поведению.``` http://www.4399.com http://www.gulixueyuan.com http://www.baidu.com
```shell
#!/bin/bash
web=(
http://www.4399.com
http://www.gulixueyuan.com
http://www.baidu.com
1.1.1.1
) # определяем массив
``````markdown
for i in ${web[*]} # Провести цикл в зависимости от количества элементов в массиве, при каждом проходе присваивая значение элемента массива переменной i
do
code=$( curl -o /dev/null -s --connect-timeout 5 -w '%{http_code}' $i | grep -E "200|302" ) # Проверить код состояния curl
if [ "$code" != "" ] # Если значение переменной $code не пустое, это означает, что веб-страница доступна для просмотра
then
echo "$i is ok" >> /root/ok.log
else # Если значение переменной $code пустое, это означает, что веб-страница недоступна, поэтому необходимо сделать паузу в 10 секунд и повторить проверку
sleep 10
code=$( curl -o /dev/null -s --connect-timeout 5 -w '%{http_code}' $i | grep -E "200|302" )
if [ "$code" != "" ]
then
echo "$i is ok" >> /root/ok.log
else
echo "$i is error" >> /root/error.log
fi
fi
done
1. Какие настройки могут повысить уровень безопасности удаленного управления SSH?> 1. Изменить режим аутентификации на использование ключей.
> 2. Изменить порт подключения на порт, отличный от 22, и указать IP-адрес для прослушивания.
> 3. Запретить удаленный вход для пользователя root.
> 4. Настроить автоматическое отключение соединения при отсутствии действий.
> 5. Ограничить количество попыток входа после неудачной попытки входа до 6 раз.
> 6. Настроить правила брандмауэра, используя белый список для разрешения порта прослушивания SSH.2. Как решить проблему с длительной проверкой аутентификации при подключении SSH?
Проблема длительного времени ответа DNS при обратном разрешении IP-адреса.
```bash
Конфигурационный файл: /etc/ssh/sshd_config
#UseDns yes Изменить на no #Отключить обратное разрешение DNS при входе SSH
Внимание: Комментарии в конфигурационном файле /etc/ssh/sshd_config не отключают функции, а наоборот, включают их по умолчанию. Чтобы отключить функцию, необходимо удалить комментарий и изменить значение на no.
scp | Полная копия | Файловый уровень | Шифрованная передача | Низкое потребление ресурсов |
rsync | Разностная копия, дельта-копия | Блоковое сравнение, частичная передача | Нешифрованная передача | Высокое потребление ресурсов (при большом количестве фрагментированных файлов) |
Опишите процесс получения IP-адреса через DHCP-сервер.
Просто опишите различия между активным и пассивным режимами FTP.
Как обеспечить небольшую разницу во времени между всеми серверами в кластере.
Ручное тестирование синхронизации: ntpdate IP-адрес временного сервера
Автоматическая синхронизация: можно добавить команду в планировщик задач
```7. Опишите процесс разрешения DNS при доступе пользователя к веб-сайту.
8. Объясните, что такое авторитетный DNS и рекурсивный DNS, и опишите принцип работы умного DNS.
Авторитетный DNS — это DNS-сервер, который имеет право разрешать домены своего уровня и может передавать это право другим серверам. Рекурсивный DNS принимает запросы пользователей на любые домены и возвращает результаты, он может кэшировать результаты для уменьшения количества запросов.
Умный DNS анализирует запросы пользователей и определяет, к какому оператору они подключены, а затем перенаправляет запрос к соответствующему IP-адресу оператора, что уменьшает время доступа через операторов и повышает скорость доступа.
9. В компании есть сервер, на котором нужно запустить два сайта, и один из сайтов требует смену доменного имени. Как это сделать?
Сайт 1: www.a.com
Сайт 2: www.b.com (старый) www.d.com (новый)
10. Кратко опишите три режима работы Apache.
11. Напишите несколько общих оптимизационных стратегий для Apache.```txt
Установите правила циклического архивирования и разделения логов Apache, чтобы предотвратить их переполнение.
Улучшите внешний вид страниц с ошибками, перенаправляя их на главную страницу или на определенную страницу.
Скройте информацию о версии Apache и других данных, чтобы предотвратить получение информации о версии Apache.
Настройте кэширование статических файлов, чтобы уменьшить нагрузку на сервер.
Запретите интерпретацию страниц в определенных директориях, например, в директории upload, запретите интерпретацию пользовательских загруженных скриптов.
Текст уже был на русском языке и не требовал перевода. Оригинальное форматирование сохранено.12. Какие технологии могут улучшить безопасность и производительность сайта?
Какие преимущества и недостатки у Apache и Nginx, и как их следует выбирать?
Почему у Nginx высокая способность к параллельной обработке запросов и низкое потребление ресурсов?
Напишите несколько часто используемых модулей Nginx и опишите их функции.
Опишите, как Nginx подключается к PHP для обработки страниц.
Опишите процесс передачи данных между Nginx и Tomcat.
Напишите несколько общих HTTP-кодов состояния и объясните причины их появления.
Имя | Предмет | Результат |
---|---|---|
Ли Бо | Математика | 95 |
Ду Фу | Английский | 83 |
Ли Шаньсинь | Математика | 79 |
Бай Юй | Математика | 98 |
Ли Цзиньчжоу | Английский | 85 |
Ван Вэй | Математика | 74 |
1.1 Найдите количество студентов с фамилией Ли.
select count(*) from student.report where Name like '李%'
1.2 Найдите имена двух студентов с самыми высокими результатами, превышающими 80, отсортировав их по убыванию результатов.
select Name from report ORDER BY Result DESC limit 2
```2. В MySQL-кластере с одним главным сервером и несколькими репликами, главный сервер вышел из строя. Как правильно переключиться на репликацию и как следует действовать с остальными репликами?3. Когда одна машина MySQL достигает предела производительности, как можно устранить этот барьер?
4. Когда следует создавать индексы в MySQL?
5. В результате ошибочного использования команды DROP данные в базе данных были уничтожены. Методы и шаги для восстановления данных:
Ручным способом разрезать binlog журнал и запомнить местоположение разрезанного binlog журнала, предположим, это 009, сделать резервную копию всех binlog журналов.
Найти местоположение последнего полного резервного копирования binlog файла и запомнить его, предположим, это 005.
Используя команду mysqladmin, извлечь SQL-запросы из binlog файлов с 005 по 008 и найти команду DROP DATABASE, удалив её.
Импортировать ранее сделанное полное резервное копирование в MySQL сервер.
Импортировать SQL-запросы, извлечённые на шаге 3, в MySQL сервер.
Удалить binlog файл 009, снова обновить binlog журнал, база данных восстановлена успешно.
6. Как гарантировать постоянное хранение данных в Redis?
7. Как использовать Redis для улучшения производительности MySQL?
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )