Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 11174|Відповідь: 1

Питання для співбесіди на старшого програміста архітектора php

[Копіювати посилання]
Опубліковано 23.12.2016 09:10:09 | | |


Нещодавно я проходив співбесіди з кількома компаніями одну за одною і записував кілька важливих запитань, закликаючи себе вчитися і вдосконалюватися, а також сподіваючись допомогти друзям.
Є багато контенту, крок за кроком, покрокове навчання.
Деякі з них запрошують на співбесідах, деякі — це вимоги для набору, а деякі додаються самостійно.

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 можуть зменшувати ресурси без завантаження.





Попередній:Windows PowerShell, щоб знайти IP зловмисника
Наступний:C# визначає місцезнаходження QR-коду на екрані
Опубліковано 23.12.2016 21:53:52 |
Ти все розбиваєш.
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com