Najlepsze pytania i odpowiedzi na rozmowę dla programisty PHP

Musisz sprawdzić czyjeś umiejętności programisty PHP albo przygotować się do rozmowy z PHP?

Doświadczeni programiści i rekruterzy z naszego marketplace'u specjalistów IT podzielili się swoimi sprawdzonymi pytaniami i odpowiedziami rekrutacyjnymi dla programistów PHP, które pomagają zweryfikować wiedzę i doświadczenie kandydata.

Jeśli prowadzisz rozmowy z programistami PHP, pamiętaj, żeby zadać też pytania sprawdzające umiejętności komunikacyjne i menedżerskie kandydata.

Znajdziesz tu pytania rekrutacyjne z PHP dla juniorów, midów i seniorów, a także kilka zadań z PHP na rozmowę.

Pytania rekrutacyjne dla juniora PHP

01

Do czego zwykle używa się PHP?

  • Wykonuje funkcje systemowe - potrafi tworzyć, otwierać, czytać, zapisywać i zamykać pliki w systemie.
  • Potrafi obsługiwać formularze, czyli zbierać dane z plików, zapisywać dane do pliku, wysyłać je e-mailem i zwracać użytkownikowi.
  • Za pomocą PHP możesz dodawać, usuwać i modyfikować rekordy w bazie danych.
  • Odczyt i ustawianie ciasteczek.
  • Za pomocą PHP możesz ograniczyć użytkownikom dostęp do wybranych podstron oraz szyfrować dane.

02

Czym jest PEAR w PHP?

PEAR to framework i repozytorium komponentów PHP wielokrotnego użytku. Nazwa pochodzi od PHP Extension and Application Repository. Zawiera wszelkiego rodzaju fragmenty kodu PHP i biblioteki. Udostępnia też interfejs wiersza poleceń do automatycznej instalacji „pakietów”.

03

Czym różnią się strony statyczne od dynamicznych?

  • Na stronach statycznych treści nie da się zmienić po uruchomieniu skryptu. Nic nie zmienisz, bo wszystko jest z góry zdefiniowane.
  • Na stronach dynamicznych zawartość skryptu można modyfikować w trakcie działania. Treść aktualizuje się przy każdej wizycie lub przeładowaniu.

04

Jak uruchomić skrypt PHP z wiersza poleceń?

Aby uruchomić skrypt PHP, użyj interfejsu wiersza poleceń PHP (CLI) i podaj nazwę pliku skryptu w ten sposób:

PHP script.PHP

05

Czy PHP rozróżnia wielkość liter?

PHP rozróżnia wielkość liter częściowo. Nazwy zmiennych są wrażliwe na wielkość liter, a nazwy funkcji nie. Jeśli zdefiniujesz nazwę funkcji małymi literami i wywołasz ją wielkimi, i tak zadziała. Funkcje zdefiniowane przez użytkownika nie rozróżniają wielkości liter, ale reszta języka już tak.

06

Co oznacza „przejście do PHP” (escaping to PHP)?

Parser PHP potrzebuje sposobu na odróżnienie kodu PHP od pozostałych elementów strony. Ten mechanizm nazywa się „przełączaniem do PHP”. Escapowanie łańcucha oznacza usunięcie niejednoznaczności cudzysłowów użytych w tym łańcuchu.

07

Jakie cechy mają zmienne w PHP?

Do ważnych cech zmiennych w PHP należą:

  • Wszystkie zmienne w PHP oznacza się znakiem dolara ($) na początku.
  • Wartością zmiennej jest wartość z ostatniego przypisania.
  • Zmienne przypisuje się operatorem =, ze zmienną po lewej i wyrażeniem do obliczenia po prawej.
  • Zmienne można, ale nie trzeba, deklarować przed przypisaniem.
  • Zmienne w PHP nie mają typów wewnętrznych - zmienna nie wie z góry, czy będzie przechowywać liczbę, czy łańcuch znaków.
  • Zmienne użyte przed przypisaniem mają wartości domyślne.

08

Jakie są typy zmiennych w PHP?

PHP ma 8 typów danych używanych do tworzenia zmiennych:

  1. Integer to liczby całkowite bez części dziesiętnej, na przykład 4195.
  2. Double to liczby zmiennoprzecinkowe, na przykład 3.14159 lub 49.1.
  3. Boolean - ma tylko dwie możliwe wartości: true lub false.
  4. NULL to specjalny typ, który ma tylko jedną wartość: NULL.
  5. String to ciąg znaków, na przykład „PHP supports string operations”.
  6. Array to nazwane i indeksowane kolekcje innych wartości.
  7. Object to instancje klas zdefiniowanych przez programistę, które mogą zawierać zarówno inne typy wartości, jak i funkcje właściwe dla tej klasy.
  8. Resource to specjalne zmienne zawierające odwołania do zasobów zewnętrznych wobec PHP.

09

Jakie są zasady nazywania zmiennych w PHP?

  • Nazywając zmienną w PHP, trzeba trzymać się następujących zasad:

    • Nazwa zmiennej musi zaczynać się od litery lub podkreślenia.
    • Nazwa zmiennej może składać się z cyfr, liter i podkreśleń, ale nie można używać znaków takich jak +, -,%, (,). & itp.

10

Jakie zasady decydują o „prawdziwości” wartości, która nie jest jeszcze typu Boolean?

Zasady określania „prawdziwości” wartości, która nie jest jeszcze typu Boolean, są następujące:

  • Jeśli wartość jest liczbą, będzie false, gdy wynosi dokładnie zero, a w pozostałych przypadkach true.
  • Jeśli wartość jest łańcuchem, będzie false, gdy łańcuch jest pusty (nie zawiera znaków) albo równy „0”, a w pozostałych przypadkach true.
  • Wartości NULL są zawsze false.
  • Jeśli wartość jest tablicą, będzie false, gdy nie zawiera innych wartości, a w pozostałych przypadkach true. W przypadku obiektu zawierającego wartość oznacza to, że istnieje pole, któremu przypisano wartość.
  • Poprawne zasoby są true (choć niektóre funkcje zwracające zasoby przy powodzeniu zwracają FALSE przy błędzie).
  • Nie używaj podwójnych wartości logicznych.

Pytania rekrutacyjne dla mida PHP

01

Jak zdefiniować stałą w PHP?

Żeby zdefiniować stałą, użyj funkcji define(), a żeby odczytać jej wartość, wystarczy podać nazwę. Raz zdefiniowanej stałej nie da się już zmienić ani usunąć. Stała nie wymaga znaku $. Poprawna nazwa stałej zaczyna się od litery lub podkreślenia.

02

Do czego służą instrukcje break i continue?

  • Break - kończy pętlę for lub instrukcję switch i przenosi wykonanie do instrukcji znajdującej się bezpośrednio po nich.
  • Continue - wymusza pominięcie reszty ciała pętli i natychmiastowe ponowne sprawdzenie warunku przed kolejnym przebiegiem.

03

Po co stosuje się klasę final i metodę final?

Słowo kluczowe final w deklaracji metody oznacza, że metody nie można nadpisać w klasach potomnych. Po klasie zadeklarowanej jako final nie można dziedziczyć. Przydaje się to zwłaszcza przy tworzeniu klas niezmiennych, takich jak String. Właściwości nie można zadeklarować jako final - tylko klasy i metody.

04

Jak porównywać obiekty w PHP?

Operatorem „==” sprawdzamy, czy dwa obiekty są instancjami tej samej klasy i mają te same atrybuty o równych wartościach. Operatorem tożsamości „===” możemy sprawdzić, czy dwa obiekty wskazują na tę samą instancję tej samej klasy.

05

Jak PHP i JavaScript mogą ze sobą współpracować?

PHP i JavaScript nie komunikują się bezpośrednio, bo PHP działa po stronie serwera, a JavaScript po stronie klienta. Możemy jednak wymieniać zmienne: PHP potrafi wygenerować kod JavaScript wykonywany przez przeglądarkę, a wybrane zmienne da się przekazać z powrotem do PHP przez adres URL.

06

Jak PHP i HTML mogą ze sobą współpracować?

  • Skryptami PHP można generować HTML, a z HTML-a można przekazywać informacje do PHP. PHP działa po stronie serwera, a HTML po stronie klienta, więc PHP wykonuje się na serwerze i zwraca wyniki jako łańcuchy, tablice i obiekty, których następnie używamy do wyświetlenia wartości w HTML-u.

07

Jakie są popularne frameworki PHP?

Popularne frameworki w PHP to:

  • CakePHP
  • CodeIgniter
  • Yii 2
  • Symfony
  • Zend Framework

08

Czym są funkcje include () i require ()?

Funkcja include () służy do wstawienia zawartości jednego pliku PHP do innego. W razie błędów include () zgłasza ostrzeżenie, ale nie przerywa wykonania skryptu - działa on dalej.

Funkcja require () również służy do wstawienia zawartości jednego pliku PHP do innego. W razie błędów require () zgłasza ostrzeżenie i błąd krytyczny oraz przerywa wykonanie skryptu.

09

Czym różni się require () od require_once ()?

Require () dołącza i wykonuje wskazany plik, a require_once () robi to tylko wtedy, gdy plik nie został dołączony wcześniej. Instrukcji require_once () używa się, gdy dany plik mógłby zostać dołączony więcej niż raz. Dlatego require_once () zaleca się przy dołączaniu pliku z dużą liczbą funkcjonalności.

10

Wyjaśnij składnię pętli „foreach” na przykładzie.

Instrukcja foreach służy do iterowania po tablicach. W każdym przebiegu wartość bieżącego elementu tablicy jest przypisywana do $ value, wskaźnik tablicy przesuwa się o jeden, a kolejny przebieg obsłuży następny element.

Składnia:

foreach (array as value)

{

kod do wykonania;

}

Przykład:

<?PHP

$colors = array("blue", "white", "black");

foreach ($colors as $value) {

echo "$value 

";

}

?>

Pytania rekrutacyjne dla seniora PHP

01

Jakie typy tablic są w PHP?

PHP ma 3 typy tablic:

  • Tablica indeksowana. Tablicę z indeksem liczbowym nazywa się indeksowaną. Wartości są przechowywane i odczytywane liniowo.
  • Tablica asocjacyjna. Tablicę z łańcuchami jako indeksem nazywa się asocjacyjną. Wartości elementów są tu przechowywane razem z wartościami kluczy, a nie w ścisłym liniowym porządku indeksu.
  • Tablica wielowymiarowa. Tablicę zawierającą jedną lub więcej tablic nazywa się wielowymiarową. Do wartości sięga się za pomocą wielu indeksów.

02

Jak ustawić nieograniczony czas wykonania skryptu PHP?

Set_time_limit (0) dodane na początku skryptu ustawia nieograniczony czas wykonania, dzięki czemu nie pojawi się błąd PHP „maximum execution time exceeded”. Można to również ustawić w pliku PHP.ini.

03

Czym różni się ASP.NET od PHP?

PHP to język programowania, a ASP.NET to środowisko programistyczne. Strony budowane w ASP.NET mogą korzystać z C#, a także z innych języków, takich jak J#. ASP.NET jest kompilowany, a PHP interpretowany. ASP.NET jest przeznaczony na komputery z Windowsem, a PHP jest niezależny od platformy i zwykle działa na serwerach linuksowych.

04

Czym jest przeciążanie i nadpisywanie w PHP?

Przeciążanie to definiowanie funkcji o podobnych sygnaturach, ale różnych parametrach. Nadpisywanie dotyczy wyłącznie klas pochodnych, w których klasa nadrzędna zdefiniowała metodę, a klasa pochodna chce ją nadpisać. W PHP metody można przeciążać tylko za pomocą magicznej metody __call.

05

Czym różni się $ message od $$ message w PHP?

Obie to zmienne. $ message ma jednak stałą nazwę, a $$ message to zmienna, której nazwa jest przechowywana w $ message. Na przykład jeśli $ message zawiera „var”, to $$ message jest tym samym co $ var.

06

Jak utworzyć bazę danych za pomocą PHP i MySQL?

Podstawowe kroki tworzenia bazy MySQL za pomocą PHP:

  • Nawiąż połączenie z serwerem MySQL ze swojego skryptu PHP.
  • Jeśli połączenie się powiedzie, napisz zapytanie SQL tworzące bazę i zapisz je w zmiennej tekstowej.
  • Wykonaj zapytanie.

07

Czym różnią się metody GET i POST?

GET 

POST 

Metoda GET może przesłać maksymalnie 1024 znaki.

Metoda POST nie ma ograniczenia rozmiaru przesyłanych danych.

GET nie nadaje się do wysyłania na serwer danych binarnych, takich jak obrazy czy dokumenty tekstowe.

Metodą POST można wysyłać zarówno dane ASCII, jak i binarne.

Dane wysłane metodą GET są dostępne przez zmienną środowiskową QUERY_STRING.

Dane wysłane metodą POST przechodzą przez nagłówek HTTP, więc bezpieczeństwo zależy od protokołu HTTP.

PHP udostępnia tablicę asocjacyjną $ _GET, dającą dostęp do wszystkich danych przesłanych metodą GET.

PHP udostępnia tablicę asocjacyjną $ _POST, dającą dostęp do wszystkich danych przesłanych metodą POST.

08

Do czego służy callback w PHP?

  • Callbacki w PHP to funkcje, które PHP może wywołać dynamicznie. Korzystają z nich funkcje wbudowane, takie jak array_map, usort, preg_replace_callback itd. Funkcja callback to funkcja, którą tworzysz sam, a następnie przekazujesz innej funkcji jako argument. Funkcja przyjmująca callback może go wywołać w dowolnym momencie.

    Oto prosty przykład funkcji callback:

    <?PHP

    function thisFuncTakesACallback($callbackFunc)

    {

    echo "I'm going to call $callbackFunc!

    ";

    $callbackFunc();

    }

    function thisFuncGetsCalled()

    {

    echo "I'm a callback function!

    ";

    }

    thisFuncTakesACallback( 'thisFuncGetsCalled' );

    ?>

09

Jak połączyć się z adresem URL w PHP?

PHP udostępnia bibliotekę cURL, która najprawdopodobniej jest już częścią domyślnej instalacji PHP. cURL to skrót od Client URL - biblioteka pozwala połączyć się z adresem URL i pobrać informacje z tej strony, takie jak zawartość HTML, nagłówki HTTP i powiązane dane.

10

Czym różni się wyjątek czasu wykonania od wyjątku czasu kompilacji?

Wyjątek zgłaszany na etapie kompilacji nazywa się wyjątkiem kontrolowanym (checked). Nie można go zignorować i trzeba go starannie obsłużyć. Na przykład jeśli używasz klasy FileReader do odczytu danych z pliku, a plik podany w konstruktorze nie istnieje, zgłoszony zostanie FileNotFoundException, który musisz obsłużyć. Wymaga to napisania kodu w bloku try-catch. Z kolei wyjątek zgłaszany w czasie wykonania nazywa się wyjątkiem niekontrolowanym (unchecked).

home-05
Rekrutujesz programistów PHP?
Mamy ludzi, których szukasz!
Skontaktuj się
Szukasz sprawdzonych programistów PHP do swojego zespołu?

W naszej sieci talentów są setki sprawdzonych w boju ekspertów od tworzenia oprogramowania.

Jesteś programistą PHP i szukasz świetnych projektów? Dołącz jako specjalista