|
Недавно я провёл собеседования с несколькими компаниями одну за другой и записал важные вопросы, подталкивая себя учиться и совершенствоваться, а также надеясь помочь друзьям. Там много контента, пошаговое обучение. Некоторые задаются на собеседованиях, некоторые — требования к набору, а некоторые добавляются самостоятельно.
1. Знания, связанные с MySQL 1. Метод оптимизации MySQL Общие методы оптимизации MYSQL Схема оптимизации производительности MySQL
2. Как разделить базу данных и таблицы Ссылка: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Как выполнить горячий режим ожидания и балансировку нагрузки с двумя машинами в Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Какие существуют типы таблиц данных? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV и так далее MyISAM: Зрелый, стабильный, лёгкий в управлении, быстрый в чтении. Некоторые функции не поддерживаются (транзакции и т.д.), блокировки на уровне таблицы. InnoDB: поддерживает транзакции, внешние ключи и блокировки рядов. Он занимает много места и не поддерживает полнотекстовое индексирование. Ключевые особенности движков Myisam и Innodb: В чём разница между движком хранения MySQL MyISAM и InnoDB? 5. Метод анти-SQL инъекций mysql_escape_string(strip_tags($arr["$val"])); 6. Как решить проблему эффективности межстольных запросов после того, как mysql разделяет большую таблицу на несколько таблиц [php] Просмотреть обычную копию Просмотр срезов кода, полученных из моих срезов кода на CODE /** * Название функции: post_check() * Функция функции: Обработка поданных правок * Параметр: $post: Контент для подачи * Возвратное значение: $post: Возвращает отфильтрованный контент */ функция post_check($post){ if(!get_magic_quotes_gpc()){// Определить, открыт ли magic_quotes_gpc $post = addslashes($post); Выполните фильтрацию magic_quotes_gpc отправленных данных без открытия } $post = str_replace("_","\_", $post); Отфильтруйте '_' $post = str_replace("%","\%", $post); Отфильтруйте '%' $post = nl2br($post); Вступает конверсия $post = htmlspecialchars($post); Преобразование разметки HTML вернуться $post; } 7. Применение индекса Когда стоит рассматривать индексирование Какие ситуации не подходят для индексации Как оценить, использует ли утверждение индекс Частые сценарии, когда индексы не используются: типа «%.....» Неявное преобразование типов данных или ключевые слова плюс другие условия Полный текст указателя: Можно использовать только для таблиц MYIsAM, созданных на столбцах типа CHAR, VARCHAR, TEXT.
8. Как оптимизировать mySQL для больших таблиц (десятки миллионов)? Ссылка http://www.zhihu.com/question/19719997 9. Задача медленного запроса в mysql На самом деле, это относительно простой способ анализа через медленные логи запросов: если вы не хотите видеть логи, можно использовать инструменты для их завершения. Такие как mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter и другие, кажется, что для анализа требуется большой опыт и это пустая трата времени. 10. О преимуществах и недостатках статуса входа пользователя, сессии cookie, базы данных или memcache http://www.dewen.org/q/11504/ Что касается статуса входа пользователя, преимущества и недостатки session%2Ccookie, database или memcache 11. В сделках рассматриваются крайние случаи 12. SQL язык делится на 4 категории, пожалуйста, перечислите DDL — СОЗДАТЬ, СБРОСИТЬ, ИЗМЕНИТЬ DML — ВСТАВИТЬ, ОБНОВИТЬ, УДАЛИТЬ DQL-SELECT DCL — ПРЕДОСТАВЛЕНИЕ, ОТЗЫВ, ФИКСАЦИЯ, ОТКАТ
2. PHP основы Сессия Несколько способов и отличий между подключением PHP к базам данных MySQL MySQL: Процессно-ориентированный mysqli: объектно-ориентированный PDO: высокая портативность Пожалуйста, обратитесь к: PHP Basic Series: Три API, используемые PHP для подключения к базам данных MySQL 3. PHP Advanced Использование длинных и коротких соединений Головка Вопросы безопасности платежей Объектно-ориентированный Три основные характеристики: инкапсуляция, наследование и полиморфизм (переписывание методов). Абстрактный класс: абстрактно, по крайней мере один метод является абстрактным методом, который не может быть инстанцируем, что определяет общий интерфейс для подкласса. Интерфейс: интерфейс, решай задачу единственного наследования PHP, все методы — абстрактные методы публичного доступа, нельзя объявлять переменные, только константы. Наследование класса при реализации нескольких интерфейсов класс A расширяет B реализует интерфейс 1, интерфейс 2..., интерфейс n() { Реализовать методы во всех интерфейсах } Анализ причин различий в производительности между архитектурами веб-сайтов LAMP и LNMP Анализ производительности интерпретируемых и компилированных языков, примеры. 4. Регулярность email, html, js и т.д. Совпадение 5. Основа развития Определения процессов и потоков, различия и связи. Состояние процесса: бегать, готово, ждать 6. Nosql-база данных Memcached, redis, mongodb дифференцированные соединения 3 сцены — совершенно разные вещи. 1.memcached: Если в памяти кэшируется одно значение ключа, нет замены распределённому кэширующему кэшированию объектов; 2. redis: Это набор алгоритмов и структур данных, быстрая работа с структурой данных — его главная особенность, поддерживающая сохранение данных; 3. MongoDB — это структура BSON, между RDB и NoSQL, более свободная и гибкая, но не поддерживает транзакции и используется только как неважное хранилище данных. Могу ли я использовать MongoDB или Redis как альтернативу memcached? 7. Часто используемые команды Linux Например, мягкие ссылки 8. Архитектурная связь Стресс-тест перед запуском проекта, количество параллельных периодов, поддерживаемых одним сервером, и количество PV. Разумное распределение ресурсов сервера CPU:Apache В условиях высокой нагрузки слишком много чтений и записей ввода на диск точно займут много ресурсов, а процессор неизбежно займёт слишком много ресурсов. Память: банк памяти, программное обеспечение баз данных
Жёсткий диск: Файлы Выбор архитектуры web2.0 MongoDB+Redis или MySQL+Memcached — лучшая комбинация, а NOSQL используется для простой логики Архитектура основного сайта в настоящее время пользуется популярностью LAMP、LNMP、LLMP В сети также есть архитектура LNAMP, то есть она объединяет преимущества nginx и Apache, используя Apache для загрузки PHP, nginx отвечает за парсинг других веб-запросов и использует модуль переписки nginx, но порт Apache не открыт для широкой публики, и многие модули Apache могут снижать расходы ресурсов без загрузки. |