Питання і відповідді по співбесідам

Для показу інформації потрібно ввести login і password

Питання по HTML

  1. – Що таке DOCTYPE і навіщо він потрібний?

    DOCTYPE – це визначення типу документа (Document Type Definition (DTD)), правила, відповідно до яких здійснюється перевірка конкретного документа (веб-сторінки) XML або (X) HTML. За допомогою цього запису браузер визначає, яка в цьому документі використовується версія DTD. Потрібний він для того, щоб браузери правильно відображали розмітку документа. Якщо не вказаний DOCTYPE, то браузер додаватиме “відсебеньки”, причому кожен браузер додаватиме свої “відсебеньки”. У результаті про кросбраузерність не може йти мова.

  2. – Що таке entities?

    Entities – це комбінації знаку & і літерного або цифрового коду після неї, призначені для заміщення символів, які не можуть зустрічатися в “чистому” вигляді в HTML-тексті, наприклад, символу “<“.

  3. Для чого служить тег <label>? Напишіть приклад з голови.

    <label>text</label><input type="text">

    служить для опису перед полем

Питання по CSS

  1. – У чому полягає різниця між записом #my і .my?

    #my – селектор ID. Він може бути тільки унікальним на одній сторінці, їх не може бути декілька з одинаковим ім'ям і не можна писати пробіли, ID повинно бути лише одне в свому полі.
    .my – селектор класу. Класів може бути декілька з одинаковим ім'ям і можна писати пробіли між класами.

  2. – Що таке псевдокласи?

    Псевдокласи – це те, що зазвичай пишуть після селектора через двокрапку, щоб визначити реакцію або стан для цього селектора. Найвідоміші псевдокласи – це :link, :hover, :visited і :active. Псевдокласи мають наступну структуру:

    selector:pseudo class { property: value;}

    тобто треба лише поставити двокрапку між селектором і псевдокласом.

    a.snowman:link { color: blue;}a.snowman:visited { color: purple;}a.snowman:active { color: red;}a.snowman:hover { text-decoration: none; color: blue; background -color: yellow;}

  3. body:not([class*="home"]) > aside#block li:nth-child(3) a:before { color: red }

    Що буде червоного кольору? До чого звертаємося?

    звертаємося до body і не до класів home потім суворо йде блок aside ід block потім до li яке є третім і до псевдо класа before . Лінк буде перед червоного кольору

  4. к чему обращаемся? І що буде червоного кольору? .sticky:not([class*="mobile-open"]) .language-chooser > a {color:red}

    До класу sticky але не до класів mobile-open. Також є звернення до лінку який знаходиться в класі language-chooser

  5. А це що описує? body:not([class*="home"]) .terms-conditions span:first-of-type { margin-left: 1vw; }

    Перше відноситься до body, але не до класів home. Другий описує зовнішній відступ від першого span який знаходиться в terms-conditions

  6. Що робить властивість clear?

    Забирає обтікання після float

  7. Чим відрізняється div від span?

    div це блок, а span це inline елемент

  8. Є такий код: <div> <section>111</section> </div> CSS: div { height: 250px; } Поставте 111 строго по центру div (по горизонталі і вертикалі)

    div { height: 250px; position: relative; } section {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}

  9. В чому різниця між margin і padding?

    padding в середині div а margin поза межами блоку

  10. Як забрати підчеркування для всіх лінків на сторінці?

    a { text-decoration: none; }

Питання по Bootstrap

  1. Что означает класс col-sm-3 в Bootstrap? Какой ширины в процентах будет блок?

    це описується блок який буде займати ширину 3 з 12 . У відсотках не знаю точно скільки це, мабуть 30%. Це опис для розміру мобільних телефонів. Просто давно не писав на bootstrap

Питання по JavaScript

  1. – Треба алертом вивести якесь повідомлення, через 3 секунди після запуску скрипта. Як це зробити?

    Так:

    setTimeout (alert ("Hello"), 3000);

    Чи так:

    setTimeout (function (){alert ("Hello")}, 3000);

  2. – Розкажіть про об’єкти в JavaScript.

    Об’єкти (вони ж асоціативні масиви, хеші) і робота з ними в JavaScript реалізується не так, як у більшості мов. Об’єкт в JavaScript є звичайним асоціативним масивом або “хешем”. Він зберігає будь-які відповідності “ключ => значення” і має декілька стандартних методів.

  3. – Маємо дві функції. Чи є між ними різниця? Якщо є, то яка?

    function f (a, b) { return a+b }

    і

    var f = function (a, b) { return a+b }

    Різниця є, вона полягає у видимості функції. Варіант функції без var видний скрізь у поточній зоні видимості. У тому числі й до самого визначення функції. Варіант з var привласнює функцію змінної, тому таку функцію видно тільки після визначення.

  4. – Що зробить код: break me_baby; ?

    Вийде з поточного блоку циклу або switch на мітку “me_baby”.

  5. Как переадресовать страницу в JavaScript?

    window.location="address";

  6. var let const, що це і яка різниця?

    це зміні які мають різну область видимості, var видна лише в областях функції, let має видимість в {} і така сама видимість і в const , але const прийнято не змінювати

  7. Скільки параметрів може мати функція?

    Безліч

  8. а как обратиться внутри функции к лишним параматрам?

    Например, было: functions sum (a,b) {} а вызвали sum(3,5,112,34,....., 35)

    т.е., с бОльшим кол-вом параметров, чем предусмотрено

  9. как внутри функции обратиться, напимер, к 3-му параметру или 5-му?

  10. что такое arguments?

    Це об'єкт

  11. у меня есть var str = '987654321'; console.log(str[2]); что произойдет после вызова данного кода?

    7

  12. (function() { var a = b = 5; })(); console.log(b); что и где будет выведено?

    5

  13. какие типы наследования есть в JS?

  14. какая между ними разница? function f(a,b) { return a+b } и var f = function(a,b) { return a+b }

    Перше можна викликати до того як обявити сам код функції. Це зручно якщо сам код функції писати внизу сторінки. А другий тільки після того як обявити функцію

  15. Напишите пример любого конструктора с головы

    class Test = function {this.name;}; let name = new Test {name = 'test'};

  16. Как создать массив в JavaScript?

    let array = [];

  17. Что делает этот скрипт? function up() { var top = Math.max(document.body.scrollTop,document.documentElement.scrollTop); if(top > 0) { window.scrollBy(0,-100); setTimeout(up,20); } else return false }

    скролить сторінку до верху її

  18. А этот? slider.addEventListener("click", function(event) { var target = event.target; while(target.tagName != "A") { target = target.parentNode; } if (target.tagName == "A") { var targetStyles = getComputedStyle( target ); if (targetStyles.opacity != "1") { event.preventDefault() } } })

    встановлений зчитувач подій на slider і коли відбувається клік по елементу відбувається цикл в якому target.tagName не дорівнює tag A. І потім якщо target.tagName == a то дістати стиль з target а якщо стиль таргета дорівнює 0 то зробити цей лінк не клікабельним

  19. Есть массив: var arr = [ 1, 2, 15 ]; Как посортировать?

    arr.sort();

Питання по jQuery

  1. что такое jQuery?

    Це бібліотека js

    Нею простіше користуватися ніж js. І до класів і до ід легко описати підключення

  2. чем отличается JS от jQuery?

    js це чистий код а jQuery це бібліотека написана з js

  3. jQuery это библиотека для написания на стороне клиента или на стороне сервера?

    Client-side

  4. для того чтобы работал JQuery что нужно?

    підключити бібліотеку

  5. что такое CDN?

    Content Delivery Network

  6. Как подключить jQuery? Как лучше подключать?

    <script src="address"> краще підключати через cdn, я особисто використовую cdn від google

  7. что такое $ в jQuery? а можно вместо $ что-то другое заюзать для работы с jQuery?

    Можна писати просто jQuery, але це вже застарів метод і використовують зараз знак долара

  8. мы можем иметь несколько document.ready() на странице?

    Я думаю, що так

  9. какая разница между windows.onload, document.ready, $(function(){})?

    Перше як тільки загрузился вікно а друге коли документ завантажений і готовий до прочитання

  10. какая разница между jquery.js и jquery.min.js ?

    Перше повна бібліотека без скорочень а друге мініфікована в якій забрані пробіли і відступи на нові строки

  11. – Знайдіть усі елементи div з класом one, а також усі елементи p з класом two, потім додайте їм усім клас three і візуально плавно спустіть униз.

    $("div.one").add ("p.two").addClass ("three").slideDown ("slow");

  12. – Виберіть div’и, у яких немає класу cls.

    $('div:not(.cls)');

  13. Как выбрать все элементы с class = classnam?

    $(".classnam")

  14. Как выбрать предыдущий элемент от найденного?

  15. Как выбрать видимый div с именем red, который содержит тег span?

    $("div.red span")

  16. Что делает этот скрипт? $("*").on("touchstart", function(e) { if((e.target.nodeName == "INPUT") || (e.target.nodeName == "TEXTAREA")) { $(this).trigger("focus"); $('.last-arrow').hide(); }else { $("input, textarea").trigger("blur"); $('.last-arrow').show(); } })

    якщо натиснути на екран то input і textarea отримає фокус і .last-arrow буде прихований а інакше input and textarea втратить фокус і .last-arrow буде показуватися

  17. Сделайте так, чтобы при нажатии на элемент <а>, алертом выводилось “Good day”

    $('a').click(function() { alert('Good day'); } );

  18. $('#nameshop').on('change', function() { var id = $(this).val(); alert(id); }); что сделает эта конструкция ? что она отслеживает?

    Відстежує те що написав користувач І показує alertom це на екран

  19. у меня есть <select id="nameshop"> <option value="11">TEst1</option> <option>TEst2</option> </select> что покажет нам алерт в первом и втором случае?

    Напевно що код покаже

  20. Чем отличаются $.post $.ajax?

Питання по MySQL

  1. – Що таке SQL-ін’єкція?

    SQL- ін’єкції – вбудовування шкідливого коду в запити до бази даних. З використанням SQL-ін’єкцій зловмисник може не лише отримати закриту інформацію з бази даних, але й, за певних умов, внести туди зміни. Вразливість щодо SQL-ін’єкцій виникає через те, що користувацька інформація потрапляє в запит до бази даних без належної обробки: щоб скрипт не був уразливим, необхідно переконатися в тому, що всі користувацькі дані потрапляють у всі запити до бази даних в екранованому виді.

  2. – Припустимо, у Вас є інтернет-магазин. Складіть запит, який покаже, скільки грошей приніс кожен окремо взятий покупець у цілому за весь час роботи магазину.

    SELECT customer_name, SUM (order_price) FROM ordersGROUP BY customer_name;

  3. Чем отличается WHERE от HAVING?

    різниці не знаю, використовував лише where для пошуку потрібних данних в таблиці

    У where не можна задати агрегатні функції, а в having все групується

  4. Что делает команда GROUP BY?

    сортує таблиці

  5. Таблице my_table задать псевдоним t и вывести всех, у кого salary выше 5000

    SELECT t FROM my_table WHERE salary > 5000

  6. как вывести все данные таблицы items?

    SELECT * FROM items

  7. как показать количество строк ответа на запрос который мы отправили?

    SELECT * FROM my_table LIMIT 30

  8. Как вывести только поля name_first, name_last, salary из таблицы my_table?

    SELECT name_first, name_last, salary FROM my_table

  9. Какая разница между LEFT, RIGHT и INNER JOIN?

    Inner join показує загальні записи. Лефт означає показати всі записав зліва а right з права

Питання по PHP

  1. – Скільки типів даних у РНР?

    PHP підтримує 8 базових типів даних.

    4 скалярні типи:

    – boolean. Логічний тип даних, змінні цього типу можуть набувати значень true або false.

    – integer. Цілочисельний тип даних, змінні можуть набувати цілих значень (.-2, – 1, 0, 1, 2.) у діапазоні від – 2^31 до +2^31. Якщо значення перевищує цей поріг, то воно автоматично переводиться в тип float.

    – float. Числовий тип даних з плаваючою точкою, може містити як цілі, так і дробові величини.

    – string. Строковий тип даних. Містить нефіксовану кількість різних символів. PHP не накладає жодних обмежень на довжину рядка, тому можна сміливо працювати навіть з ДУЖЕ великими рядками.

    2 комплексних (складених) типи:

    – array. Масив, містить упорядкований список елементів.

    – object. Об’єкт, містить деякий об’єкт (екземпляр класу).

    2 спеціальних типи:

    – resource. Посилання на абстрактний елемент, т. зв. зовнішній ресурс. Приклади зовнішніх ресурсів – посилання на файл і посилання на результат виконання запиту.

    – NULL. Порожній тип даних, що означає відсутність якого-небудь значення. Про такі значення зазвичай говорять “не визначено”. Порожнім значенням можна ініціалізувати змінні будь-якого іншого типу.

  2. – Які магічні методи Ви знаєте? Що це таке взагалі?

    Це методи, зарезервовані в php, які розпочинаються з подвійного підкреслення “__”.

    Список усіх магічних методів :

    __construct

    __destruct

    __call

    __callStatic

    __get

    __set

    __isset

    __unset

    __sleep

    __wakeup

    __toString

    __set_state

    __clone

    __construct і __destruct – найпопулярніші методи, які реалізують базові поняття об’єктно-орієнтованого програмування: конструктор і деструкція;

    __call, __callStatic, __get і __set – методи, пов’язані з перевантаженням звернень як до властивостей, так і до методів. Методи __get () і __set () викликаються при установці й набутті значення властивості, а методи __call () і __callStatic – за виклику методу. Варто зазначити, що ці магічні функції викликатимуться тільки і винятково в тому випадку, якщо запрошеного методу або властивості немає;

    __isset – метод, що спрацьовує при виклику функцій empty () або isset () на неіснуючій чи недоступній властивості класу;

    __unset – спрацьовує при виклику функції unset () на неіснуючій або недоступній властивості класу;

    __sleep і __wakeup – методи, які викликаються тільки з функцій serialize і unserialize со- відповідно. Метод __sleep буде викликаний відразу при застосуванні до об’єкта функції serialize, а метод __wakeup – при застосуванні unserialize. Зараз методи застосовуються для збереження поточного стану системи з подальшим відновленням цього стану (наприклад, конект до бази);

    __toString – метод, за допомогою якого можна звертатися до класу як до рядка (наприклад, за допомогою print або echo);

    __set_state – метод, який викликається для класів, що експортують значення властивостей функцією var_export ();

    __clone – викликається при клонуванні об’єкта (введений для використання через те, що об’єкти в php5 і вище передаються за посиланням);

    __invoke – викликається при спробі використати об’єкт як функції.

  3. – Що таке static-функція і чим вона відрізняється від “звичайної” (не static)?

    Static належить класу, а не екземпляру класу. І викликається у класу, а не в об’єкта, тобто безпосередньо. Оголошення властивостей і методів класу статичними дозволяє звертатися до них без створення екземпляра класу. Атрибут класу, оголошений статичним, не може бути доступним за допомогою екземпляра класу (але статичний метод може бути викликаний). Оскільки статичні методи викликаються без створення екземпляра класу, то псевдозмінна $this недоступна всередині методу, оголошеного статичним. Доступ до статичних властивостей класу не може бути отриманий через оператор ->.

  4. что такое MVC? Какие принципы? С чего состоит?

    Шаблон проектування, розділення інтерфейсу, управління логікою. Модель, представлення і контролер. Модифікація кожного компонента робить не залежно один від одного.

  5. – Чи є різниця між одинарними і подвійними лапками в PHP?

    У подвійних лапках дані “парсятся”, а в одинарних – ні. За подвійних лапок у даному випадку виведеться Chimay, а за одинарних – $beer. $beer = 'Chimay';echo "$beer";

  6. – Напишіть програму, яка виводить прості числа, тобто що діляться без залишку тільки на себе і на 1.

    $lst = array ();$k = " prime";for ($i = 2; $i < 100; $i++) { for ($j=2; $j < $i; $j++) { if (($i % $j)==0) { $k="not prime" ; }}if ($k==" prime" ) $lst[]=$i;else $k=" prime" ;}foreach ($lst as $list) echo $list . "" ;

  7. – Напишіть программу-цензор, яка б замінювала введені користувачем у форму слова “fuck”, “idiot” і “bitch” на “f**k”, “id**t” і “bi**h”.

    $find = array ( 'fuck', 'idiot', 'bitch');$replace = array ( 'f * *k', 'id * *t', 'bi * *h'); If (isset ($_ POST['user_input']) && !empty ($_ POST['user_input'])) { $user_input = $_ POST['user_input']; $user_input_new = str_ireplace ($find, $replace, $user_input); echo $user_input_new;}

  8. – Що таке динамічні змінні?

    Динамічною змінною вважається та, ім’я якої зберігається в самій змінній. Це так звана “змінна змінна”. Наприклад:

    $var = " first";$$var = " Second";// $$var == $first == " Second"

    $$var – динамічна, її ім’я може мінятися разом зі зміною $var. Також можна зв’язати ім’я змінної зі вмістом іншої змінної неявно:

    $first = " second";$second = " third";print $first; // надрукує " second" print $$first; // надрукує " third"

  9. – Що таке шаблони (патерни) проектування?

    Патерн проектування – це загальне типове розв’язання деякої проблеми, багаторазово повторюване в процесі проектування архітектури програмного продукту. Вони показують відносини і взаємодію між класами, дозволяють зробити систему гнучкою і легко змінюваною. За допомогою їх правильного використання підвищується коефіцієнт використання готових рішень.

  10. – Напишіть приклад реалізації поліморфізму.

    Class One{ function foo (){ echo "Hellofromclass One"!; } function callMe (){ $this ->foo (); }}Class Two extends One{ function foo (){ echo "Hellofromclass Two"; }}$Two = new two ();$Two ->callMe ();

  11. – Які ще є парадигми (моделі, підходи) програмування, крім ТОП?

    З тих, що найчастіше зустрічаються: функціональна, аспектно-орієнтована і процeдурна.

  12. с какими MVC ты пересекался?

  13. А что такое MVP и чем отличается от MVC?

  14. что такое рекурсия? Напиши пример кода с головы

    public class Solution { public static int recursion(int n) { if (n == 1) { return 1; }return recursion(n - 1) * n; } public static void main(String[] args) { System.out.println(recursion(5)); } }

  15. какие магические методы знаешь? Что это вообще?

    call, get, set, sleep, clone, construct. Ці методи починаються з подвійного підчеркування

  16. Как можно переадресовать юзера на другую страницу?

    header('Location: http://');

  17. $this и self чем отличаются?

    this вказує на обєкт а селф не згадаю

  18. echo и print чем отличается?

    echo може вивести декілька змінних, а print лише одну

  19. Что такое rtrim($s, ',_,')?

    Видаляє пробіли з кінця рядку

  20. Можно передавать в функцию значения, указывая их тип? foo(String, Bool, Array, Int);

  21. Как можно пользователя направить например после выполнения метода на другую страницу (PHP)?

    Зробити провірку якщо виконаний метод то зробити переправлення на іншу сторінку через header

  22. можно ли пронаследовать два класса в пхп?

  23. Как называется способность объекта скрывать свои данные и реализацию от других объектов системы?

  24. Что такое виртуальный метод?

  25. Что такое ассоциативный массив? дай пример

    це масив в якому кожний елемент складається з ключа і значення його

    $my_array = array('foo' => 'bar', 'bar' => 'foo'); $my_array = ['foo' => 'bar', 'bar' => 'foo'];

  26. Вывести максимальное значение элемента массива array(1,2,3,4,10,100,3, 4987,6,7,8,9)

    $arr = array(1,2,3,4,10,100,3,4987,6,7,8,9); echo max($arr);

  27. Сгенерировать 3 случайных числа в диапазоне от 0 до 10. Если сумма этих чисел меньше 14, сгенерировать новую тройку

  28. Чему будет равно $a? $a = “1”; $a[$a] = “2”; echo $a;

    1

  29. Что делает этот код? namespace Hello\World

    добавляє пробіл між словами

  30. Что получим? <?php $a=0; if($b=$a) echo “One”; else echo “Two”; ?>

    echo "Two";

  31. що отримаємо?

    <?php $a = 10; $b = 4; echo (int)$a / (int)$b; ?>

    2.5

  32. Що отримаємо? <?php $str = “7”; if (!empty($str)) echo “EMPTY\n”; else echo “NOT EMPTY!\n”; ?>

  33. Дан массив $arr = array(13,28,15,25,16,11,10,5,17,30). Вывести те его элементы, которые делятся на 5 (без остатка).

    Что выведет этот скрипт? <?php $str = “0”; if (!$str) echo “EMPTY
    ”; else echo ‘NOT EMPTY’; if (empty($str)) echo “EMPTY
    ”; else echo “NOT EMPTY”; if (!strlen($str)) echo “EMPTY
    ”; else echo “NOT EMPTY”; ?>

    EMPTY

    EMPTY

    NOT EMPTY

  34. А этот? <?php $str = “7”; if (!empty($str)) echo “EMPTY\n”; else echo “NOT EMPTY!\n”; ?>

    EMPTY

  35. <?php function foo() { static $count = 4; return ++$count; } print foo(); print foo(); print foo(); ?> Что получим?

    567

Питання по OOP

  1. ООП це об'єктно орієнтоване програмування. Основні принципи ООП це наслідування інкапсуляція поліморфізм абстракція

  2. Все являється обєктом в програмуванні , Обєкт -це річ з реального світу. А клас це рецепт як згенерувати цей об'єкт. тому і використувують ООП

  3. Наслідування це коли один об'єкт отримує властивості іншого батьківського об'єкта

  4. Інкапсуляція це приховані можливості об'єкта. напкриклад private public and protected. доступ до цього об'єкта

  5. поліморфізм важко пояснити почитай десь

  6. а абстракція це правильне відображення цього об'єкта

  7. А замикання мені самому важко пояснити