Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 11174|Отговор: 1

Въпроси за интервю за старши програмист архитект на php

[Копирай линк]
Публикувано в 23.12.2016 г. 9: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:
       Каква е разликата между storage engine MyISAM и InnoDB на MySQL?

   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. Относно предимствата и недостатъците на сесията за статус на входа на потребителя, бисквитката, базата данни или 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
                   В среда с голямо натоварване твърде много четения и записи на диск определено ще отнемат много ресурси, а процесорът неизбежно ще заеме твърде много процесор.
             Памет: Паметна банка, софтуер за бази данни
               
             Твърд диск: Файлове

           Избор на архитектура в 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