|
Нещодавно я проходив співбесіди з кількома компаніями одну за одною і записував кілька важливих запитань, закликаючи себе вчитися і вдосконалюватися, а також сподіваючись допомогти друзям. Є багато контенту, крок за кроком, покрокове навчання. Деякі з них запрошують на співбесідах, деякі — це вимоги для набору, а деякі додаються самостійно.
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, бази даних або 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. Регулярність Електронна пошта, 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 У середовищі з високим навантаженням надмірна кількість IO читань і записів на диск точно забиратиме багато ресурсів, а процесор неминуче забиратиме забагато ресурсів. Пам'ять: банк пам'яті, програмне забезпечення для баз даних
Жорсткий диск: Файли Вибір архітектури Web2.0 MongoDB+Redis або MySQL+Memcached — краща комбінація, а NOSQL використовується для простої логіки Основна архітектура вебсайту наразі користується популярністю LAMP、LNMP、LLMP Тепер у мережі також є архітектура LNAMP, яка поєднує переваги nginx і Apache, використовує Apache для завантаження PHP, nginx відповідає за парсинг інших веб-запитів і використовує модуль переписування nginx, але порт Apache не відкритий для публіки, і багато модулів Apache можуть зменшувати ресурси без завантаження. |