· 5 years ago · May 14, 2020, 11:34 AM
1{
2 "react - junior": [
3 "Gdzie się kończy zastosowanie jQuery a zaczyna React?",
4 "Czym różnią się propsy od stanu komponentu?",
5 "Dlaczego nie powinno się modyfikować stanu komponentu bezpośrednio, a jedynie za pomocą `this.setState` ?",
6 "Jakie są różnice między komponentami zdefiniowanymi za pomocą czystej funkcji, a komponentami zdefiniowanymi za pomocą klasy?",
7 "Jak można sprawić, żeby child component mógł modyfikować stan rodzica?",
8 "Dlaczego tak ważne jest, żeby unikać mutowania obiektów, które przekazujemy jako propsy lub ustawiamy jako stan w komponencie?",
9 "Co to jest *render props*?",
10 "Dlaczego przekazanie metody z klasy np. do `onClick` może nie działać poprawnie? Jakie są rozwiązania tego problemu?\r\nPodpowiedź: Chodzi o `this`.",
11 "Do czego służy `ref`?",
12 "Co to jest *Virtual DOM*?",
13 "Jakie argumenty przyjmuje funkcja `this.setState(…)`? Czym się różni przekazanie jako pierwszego argumentu obiektu od przekazania tam funkcji?",
14 "Do czego Reactowi potrzebny jest atrybut `key` i czy widoczny jest w DOM, czy tylko w VirtualDOM?",
15 "Wymień metody cyklu życia komponentu.",
16 "Czym jest JSX?",
17 "Jakie znasz sposoby definiowania komponentów?",
18 "Co to jest komponent?",
19 "Opisz przepływ danych w aplikacji która, korzysta z redux?",
20 "Czy reducer to tzw. *pure function*?",
21 "Co to jest niemutowalność?",
22 "W jaki sposób dokonać walidacji przekazanych propsów do komponentu?",
23 "Jakiego polecenia `npm` użyjesz w konsoli do stworzenia podstawowej struktury projektu?",
24 "Dlaczego nie pisać funkcji in-line'owo w React? np. \r\n\r\n```javascript\r\n<div\r\nonClick = function ......\r\n>\r\n```",
25 "Jaka jest różnica pomiędzy *komponentem* a *elementem*?"
26 ],
27 "other - junior": [
28 "Jakie znasz (czyt. umiesz się w nich poruszać) silniki baz danych",
29 "Co to jest ARIA",
30 "Web Worker i Service Worker - co to jest i jakie są różnice",
31 "Jakie znasz sposoby optymalizacji wydajności stron internetowych? ",
32 "Jakie znasz metody HTTP i do czego służą",
33 "DRY - co to jest i dlaczego jest ważne?",
34 "Co to są observable",
35 "Opisz wzroce Singleton i Factory",
36 "Jakie znasz Frameworki do testów jednostkowych",
37 "Po co robimy testy jednostkowe",
38 "Co to jest programowanie asynchroniczne",
39 "Polimorfizm, klasa abstrakcyjna, interfejs - opisz",
40 "Jaka jest różnica między *dziedziczeniem* a *kompozycją*?",
41 "Skąd czerpiesz wiedzę i z jakich źródeł korzystasz podczas nauki",
42 "Czemu służy ładowanie zasobów strony z wielu domen? (Domain Sharding)",
43 "Czym jest CORS",
44 "Czym jest CDN (Content Delivery Network) i czemu służy",
45 "W jaki sposób się rozwijasz w programowaniu? (czytanie blogów, eventy etc)",
46 "Czy scrum master przydziela zadania",
47 "Jaka jest różnica między *interfejsem* a *klasa abstrakcyjną*",
48 "Co zrobisz jak po wydaniu aplikacji/strony zauważysz buga",
49 "Jak zabierzesz sie do budowania stronki jak dostaniesz od klienta plik z tym jak ma wygladać layout",
50 "Co to jest enkapsulacja",
51 "Podaj dobre praktyki programistyczne",
52 "Czym jest *REST API*",
53 "Czym różni się biblioteka od frameworka?",
54 "Czym jest SCRUM?",
55 "Co to jest *chmod*?",
56 "Czym różni się metoda *POST* od *PUT*?",
57 "Co to jest _ESLint_?",
58 "Co to jest asynchroniczność?",
59 "Jakie są najczęściej spotykane statusy odpowiedzi odpowiedzi serwera?"
60 ],
61 "js - junior": [
62 "Jaka jest różnica pomiędzy podwójnym a potrójnym porównaniem w JS? `== vs ===`",
63 "Czym są domknięcia (closures) ?",
64 "Co to są TypeScript i Flow?",
65 "Jakie znasz biblioteki JS?",
66 "Dlaczego zazwyczaj skrypty podłączamy przed zamknięciem tagu `body`?",
67 "Czym jest IIFE i do czego się je wykorzystuje?",
68 "Napisz funkcję, która zamienia pierwsze litery słów na wielki w dowolnym zdaniu.\r\n\r\nPrzykładowo: Dla `ala ma kota` funkcja ma zwrócić `Ala Ma Kota`.",
69 "Czym jest _garbage collector_?",
70 "Wytłumacz na czym polega *hoisting*.",
71 "```javascript\r\nconst person = { name: 'John' };\r\nperson.name = 'Monica';\r\n```\r\n\r\nCzy property name zostanie podmienione na nową wartość, mimo użycia const?",
72 "Na czym polega bąbelkowanie zdarzeń (*event bubbling*)?",
73 "Jaka jest różnica między `var`, `let` i `const`? Który jest preferowany?",
74 "Jakie znasz rodzaje pętli?",
75 "```javascript\r\nif ([]) {\r\n console.log('hello');\r\n}\r\n```\r\n\r\nCzy `console.log` się wywoła?",
76 "Na czym polega referencja? Jakie typy danych są przekazywane przez referencję w JS?",
77 "Function vs arrow Function - omów różnice",
78 "Co to są *falsy values*? Jakie *falsy values* znasz?",
79 "Jak sklonować obiekt w JS?",
80 "Nie zmieniając warunków pętli, wyświetl w `console.log` liczby w kolejności od 9 do 0:\r\n\r\n```javascript\r\nfor (var i = 0; i < 10; i++) {\r\n console.log(.....);\r\n}\r\n```",
81 "Czym jest destrukturyzacja w ES6?",
82 "Jak za pomocą jQuery wybrać pierwszy element z tablicy ?",
83 "Jakie znasz struktury danych?",
84 "Jaki będzie output logów poniższego kodu:\r\n\r\n```javascript\r\nfor (var i = 0; i < 10; i++) {\r\n setTimeout(function() { \r\n\t\tconsole.log(i);\r\n\t\t}, 100 * i);\r\n}\r\n```",
85 "Stworzyć w VueJS dropdown, który ma kilkanaście opcji. Każda opcja wyświetlana jest z użyciem innego fonta z Google Fonts, a etykieta opcji zawiera nazwę tego fontu.\r\nPo wyborze danej opcji z dropdowna tekst obok powinien zostać wyświetlony z użyciem wybranego fontu.",
86 "Czym jest propagacja i delegacja zdarzeń?",
87 "Do czego służą funkcje `setTimeout` oraz `setInterval`? Jak wyczyścić (anulować) interval lub timeout?",
88 "Czy rozszerzanie prototypów obiektów wbudowanych w JavaScript (np. `Array.prototype` albo `Object.prototype`) jest dobrym pomysłem?",
89 "Jaka jest różnica pomiędzy metodami `empty`, `remove` a `detach` w jQuery?",
90 "Opisz wzorzec MVC.",
91 "Co wiesz o ES6?",
92 "```javascript\r\ndocument.getElementsByTagName('input')[0]\r\n.addEventListener('focus', () => {\r\n console.log(this);\r\n});\r\n```\r\n\r\nNa co wskazuje `this` w tej funkcji?",
93 "Czym sa `localStorage`, `sessionStorage` oraz `cookies` i czym się różnią?",
94 "Kiedy NIE używać *arrow function*",
95 "Na co wskazuje `this` w JavaScript? Podaj przykłady.",
96 "Czym jest *callback*?",
97 "Napisz funkcję, która przyjmuje ciąg znaków (zdanie) i ciąg znaków z odwróconą kolejnością słów.\r\nPrzykłąd: Dla `\"Ala ma kota\"` funkcja ma zwrócić `\"kota ma Ala\"`.",
98 "Czym jest klasa w programowaniu?",
99 "ECMAScript i JavaScript — jaka jest różnica?",
100 "Jaka jest różnica między *Java* a *JavaScript*?",
101 "Jaka jest różnica między klasą a obiektem?",
102 "Co to jest *pure function*?",
103 "Jak można odczytać *cookie* w JS?",
104 "Jakie znasz typy danych?",
105 "Jaka jest różnica między `null` a `undefined`?",
106 "Scharakteryzuj programowanie funkcyjne.",
107 "Co to jest `npm` i do czego się go używa?",
108 "Jak zaimplementować stos (Stack) w JS",
109 "Czym Jest DOM?",
110 "Wyjaśnij różnice pomiędzy zdarzeniem `click`, a atrybutem `onclick`.",
111 "Jaka jest różnica między zadeklarowaniem zmiennej z użyciem słowa `var` a z pominięciem?\r\n```javascript\r\nvar x = 1; \r\n// vs\r\ny = 1;\r\n```",
112 "Wyjaśnij czym są cookies.",
113 "Czym jest *ternary operator*?",
114 "Czy dane przechowywane w `localStorage` są widoczne w innych aplikacjach (pod innymi domenami)?",
115 "Jaki będzie wynik wywołania `setTimeout` z wartością czasu 0?",
116 "dlaczego `[1,2,3] === [1,2,3]` zwraca `false`?",
117 "Jaki jest zakres widoczności zmiennych (*scope*)?",
118 "Napisz funkcję, która jako argument przyjmuje ciąg znaków (zdanie) i zwraca ten ciąg znaków, ale z każdym słowem rozpoczynajacym się od wielkiej litery.\r\n\r\nPrzykład: `\"john doe foo bar\"`, oczekiwany wynik: `\"John Doe Foo Bar\"`.",
119 "Do wykonania zadanie polegające na wysłaniu _Ajaxem_ obiektu i zapisaniu w `localStorage` tokena, który dostanie się w ramach odpowiedzi. W przypadku błędu wyświetlić komunikat o błędzie.",
120 "Jak można iterować po tablicach? Wszystkie odpowiedzi typu '`for, while, map, filter, forEach`' poprawne.",
121 "Jaki będzie kolejność logów?\r\n\r\n```javascript\r\nconsole.log('one');\r\nsetTimeout(function() {\r\n\tconsole.log('two');\r\n}, 0)\r\nconsole.log('three');\r\n```",
122 "Co wyświetlą logi?\r\n```javascript\r\nvar foo = 'hello';\r\n(function () {\r\n var bar = 'world'\r\n\tconsole.log(foo + bar);\r\n})()\r\nconsole.log(foo + bar);\r\n```",
123 "ES6, co wnosi, a co wnosi ES5?",
124 "Czy JavaScript jest case sensitive ?",
125 "Napisz funkcję, ktora sprawdza, czy podana liczba jest liczba pierwszą.",
126 "Jaki będzie wynik operacji?\r\n```javascript\r\nvar string = 'FeFaq to najlepsza baza pytań'\r\n.split('').reverse().join('');\r\n```",
127 "Dana jest funkcja:\r\n```javascript\r\nfunction check(x) {\r\n return x ? x : new Error();\r\n}\r\n```\r\nZakładając, że x jest liczbą z przedziału od -20 do 20, to dla jakiego x zostanie zwrócony Error?",
128 "Jaki będzie wynik tego kodu?\r\n```javascript\r\n console.log(3+\"3\");\r\n```",
129 "Jakie znasz sposoby wyczyszczenia tablicy z elementów?",
130 "Która odpowiedź ma niepoprawną skałdnię:\r\n```javascript\r\na) 42.toFixed(3);\r\nb) 42..toFixed(3);\r\nc) 42 .toFixed(3);\r\n```",
131 "Jak uchwycić referencję do elementu HTML z poziomu JS?(`document.getElementById, document.querySelector` itd)",
132 "Czym jest *spread operator* w ES6, w jakich sytuacjach się przydaje?",
133 "Jaka jest różnica między *Spread Operator* a *Rest Parameters*?",
134 "Czym różni się *null* od *undefined*?",
135 "Czym jest JSON? - rozwiń skrót i opisz do czego służy",
136 "Jakie znasz możliwości deklaracji zmiennych i jakie są ich zakresy (ES5 i ES6) ?",
137 "Jaka jest różnica pomiędzy *call* a *apply*?",
138 "W jaki sposób zczytać wartość wpisaną do `<input>` ?",
139 "Czym są *promises*?",
140 "Napisz funkcję, która wyświetli wynik tak jak poniżej:\r\n```javascript\r\ntrue, false, true, false,\r\ntrue, false, true, false\r\n```",
141 "Jak można komunikować się z serwerem?",
142 "```javascript\r\nconst sum = (a) => (b) => a + b;\r\n```\r\nJak używając funkcji _sum_ wyświetlisz w konsoli _3_",
143 "W jaki sposób obsługiwany jest *setInterval* i *setTimeout*? \r\nKiedy zostaną obsłużone jeśli mamy nieskończenie wiele console.log'ów?\r\n(pytanie o Event Loop)",
144 "TypeScript: jaka jest różnica między typowaniem stringów wielką, a małą literą?\r\n\r\n`const name: (S/s)tring = 'K'`",
145 "Dlaczego warto odchodzić od \"document.getElementById\" na rzecz \"document.querySelector\"?",
146 "Spraw, aby poniższy kod:\r\n```javascript\r\n[1, 2, 3].duplicate();\r\n```\r\n zwracał tablicę [1, 2, 3, 1, 2, 3];",
147 "Napisz funkcję usuwającą duplikaty z tablicy.",
148 "Czy warto używać typu \"any\" w TS? ",
149 "Co to jest \"dependency injection\" ?"
150 ],
151 "html - junior": [
152 "Wymień semantyczne tagi HTML5",
153 "Wymień zdeprecjonowane elementy z HTML4",
154 "Czym są mikroformaty",
155 "Czym się różni tag `article` od tagu `aside`? Podaj przykład przeznaczenia.",
156 "Czy użyłbyś tagu `bold`?",
157 "Czym jest atrybut data w HTML5 oraz jak odczytać jego wartość",
158 "Co znaczy semantyczny HTML",
159 "Czy `<section>` może posiadać ` <article>` ? oraz czy `<article>` może posiadać wiele elementów `<section>` ?",
160 "Różnica pomiędzy *SVG* a *CANVAS*",
161 "Jak zrobić, aby na kliknięcie labelki checkboxa powodowało zaznaczenie tego checkboxa?",
162 "Co sądzisz o stylach inline w HTML5?",
163 "Co oznacza` !DOCTYPE `, gdzie się go stosuje oraz co się stanie kiedy go nie użyjemy ?",
164 "Jaka jest dyrektywa HTML, która pozwoli Ci ustawić viewport?\r\n```javascript\r\n<viewport content=\"...\">\r\n<meta name=\"viewport\" content=\"...\">\r\n<set name=\"viewport\" data=\"...\">\r\n<meta name=\"setviewport\" data=\"...\">\r\n```",
165 "Jakie kodowanie znaków (charset) jest rekomendowane dla j. polskiego?",
166 "Czy umieszczanie ikon z fontawesome w znaczniku `<i>` jest rekomendowane przez HTML5?",
167 "Czym jest data-list? Do czego służy?",
168 "Jak zmieniać zachowanie linków po najechaniu myszką?"
169 ],
170 "git - junior": [
171 "Jaka jest różnica między `git pull` a `git fetch`",
172 "czym jest konflikt w GIT i jak może zostać rozwiązany",
173 "Jakie polecenie pokazuje ostatnie commity",
174 "Czym jest git flow, jakie są kroki?",
175 "Czym jest git",
176 "Czym jest *Fork* a czym *Pull Request*?",
177 "Jak wygląda twoje workflow z gitem?",
178 "Jak utworzyć branch za pomocą konsoli?\r\nW jaki sposób przejdziesz z jednego brancha do drugiego za pomocą konsoli?",
179 "W jaki sposób zmergujesz ze sobą 2 różne branch-e z użyciem konsoli? Podaj kolejno kroki."
180 ],
181 "css - junior": [
182 "Co nowego w CSS 4?",
183 "Czym jest SASS i LESS",
184 "Czym są pseudoelementy w CSS. Wymień przykłady.",
185 "Jaka jest różnica pomiędzy elementem liniowym a blokowym",
186 "Jakie znasz metodyki CSS?",
187 "Opisz na czym polega metodyka BEM",
188 "Do czego służy Flexbox",
189 "Jak pogrubić fragment tekstu",
190 "Czym różni się selektor po klasie a po ID",
191 "Czym jest plik _reset_ w CSS i dlaczego jest użyteczny",
192 "Opisz model pudełkowy (box model)",
193 "Jaki jest efekt dodania flagi !important",
194 "Jaka jest hierarchia aplikowania styli (co ma wyższy priorytet, np. czy inline style na tagu czy arkusz styli, czy np. styl podpięty w head)",
195 "Jaka jest różnica między `display: none` a `visibility: hidden`",
196 "Co powoduje ustawienie właściwości `box-sizing: border-box`",
197 "Rożnica między `position: relative` a `position: absolute`",
198 "Wymień parę zasad CSS, które są dziedziczone i aplikowane na elementy potomne (np. color)",
199 "Czy element z `position: fixed` może się pozycjonować względem dowolonego elementu na stronie?",
200 "Dodawanie czcionek poprzez link vs poprzez import. Co wybierzesz?",
201 "Animacje - lepiej używać za pomocą CSS czy JS i czemu",
202 "Jak wpływa ustawienie właściwości `float` w css na zachowanie elementu HTML?",
203 "Wyjaśnij jakie elementy zostaną zawarte w następujących selektorach CSS\r\n* div, p\r\n* div p\r\n* div > p\r\n* div + p\r\n* div ~ p",
204 "Jakie znasz pseudo-klasy i pseudo-elementy",
205 "Czym jest plik reset.css i czym różni się od normalize.css",
206 "Na czym polega technika CSS Sprites",
207 "Czym jest *RWD*",
208 "Jakie są różnice między CSS2 a CSS3",
209 "Jak wykonujemy animacje w CSS",
210 "Czym są Levele w CSS?",
211 "Czy CSS obsługuje zmienne?",
212 "Czy właściowości CSS `margin-bottom` i `margin-top` mają wpływ na *inline element*?",
213 "Po co stosujemy normalizację CSS?",
214 "Względem czego pozycjonuje się element, jeśli nie znajdzie rodzica o pozycji relatywnej?",
215 "Stylowanie elementów w CSS vs JavaScript. Co wybierzesz?",
216 "*Container* vs *container-fluid* (biblioteka Bootstrap) - jakie są różnice?",
217 "Czym jest kaskadowość w CSS?",
218 "Co w Bootstrapie oznacza pushowanie kolumn?",
219 "Czym różni się display: `inline, inline-block i block`?",
220 "Clearfix? Kiedy używać, po co?",
221 "Na co uważać przy *float*, gdy mamy np. 3 divy i na środkowy damy *float: right* ?",
222 "Jak wyśrodkować element w pionie? (omów kilka różnych technik)",
223 "Jak zastosować dziedziczenie w *SCSS*?",
224 "Jaki kolor zostanie zaaplikowany?\r\n\r\n```javascript\r\n// plik CSS\r\n.menu h1 {\r\n color: red !important\r\n}\r\n// plik HTML\r\n<div class=\"menu\"> \r\n\t<h1 style=\"color:blue;\">Home</h1>\r\n</div>\r\n```",
225 "```html\r\n<div class=\"wrapper\">\r\n <div class=\"box\"></div>\r\n <div class=\"box\"></div>\r\n <div class=\"box\"></div>\r\n</div>\r\n```\r\n```css\r\n.wrapper {\r\n width: 240px;\r\n}\r\n.box {\r\n width: 50px;\r\n padding: 10px;\r\n margin: 5px;\r\n border: 2px;\r\n float: left;\r\n}\r\n```\r\n1. Jak będą wyświetlone elementy wewnątrz elementu *.wrapper*?\r\n2. Jaką wysokość będzie miał element *.wrapper*?",
226 "```html\r\n<div id=\"wrapper\">\r\n\t<p class=\"text\"></p>\r\n</div>\r\n```\r\n```css\r\n#wrapper {\r\n color: green;\r\n}\r\n.text {\r\n color: red;\r\n}\r\n#wrapper .text {\r\n color: yellow;\r\n}\r\nhtml > body .text {\r\n color: blue;\r\n}\r\n```\r\nJaki kolor będzie miał tekst w tagu *p*?",
227 "Czym jest svg? Na czym polega grafika wektorowa?"
228 ],
229 "angular - junior": [
230 "Jak przesłać dane podczas zmiany routa, czy za pomocą dekoratorów Input oraz Output jest to możliwe?",
231 "Co to znaczy, że serwis jest singletonem",
232 "Jaka jest różnica pomiędzy `<button value=\"...\">` a `<button [value]=\"...\">`",
233 "Wymień hooki cyklu życia komponentu, omów krótko do czego służą",
234 "Którego hooka cyklu życia użyłbyś, aby odpiąć się od subskrypcji?",
235 "Jakie znasz dwa podejścia do tworzenia forumlarzy? jakie są główne różnice?",
236 "Do czego służą pipes?",
237 "Czy jeden komponent może być zadeklarowany w wielu modułach?",
238 "W jaki sposób możesz sobie pomoć z debuggowaniem routingu? (włączyć enableTracing)",
239 "Jak w poprawny sposób w klasie komponentu uchwycić referencję do komponentu zagnieżdzonego w templatce?",
240 "Jakbyś skomunikował komponenty, które nie są w bezpośredniej relacji rodzic-dziecko?",
241 "Kiedy nie musimy sami anulować subskrypcji?",
242 "Wymień Life Cycle Hooks i podaj, który wykonuje się jako pierwszy.",
243 "Kiedy użyjesz interfejsu, a kiedy klasy w TypeScript?",
244 "Jakie wzorce projektowe zauważyłeś w Angular?",
245 "Co to jest \"bootstrapping\"?",
246 "Co najcześciej zwracamy w `HttpClient` ?",
247 "Jaka jest różnica pomiędzy `<button value=\"...\">`, a `<button [value]=\"...\">`?"
248 ],
249 "react - mid": [
250 "Czym się różni `React.Coponent` od `React.PureComponent`?",
251 "Co to jest *higher order component*?",
252 "W jaki sposób możemy uniknać niepotrzebnego przerenderowania danego komponentu?",
253 "Dlaczego stan zwracany z reducera jest nowym obiektem?",
254 "Za pomocą jakich znaczników możemy opakować zawartość wyrenderowanego komponentu jeśli nie chcemy używać tagów HTML-owych?",
255 "Co powinien robić komponent z nieobsługiwanymi własnościami? (niewyszczególnionymi w propTypes)",
256 "Tworzysz komponent wirtualnej listy (wyświetla n z ∞ elementów).\r\n\r\n```javascript\r\npropTypes: {\r\n\tstartIndex: PropTypes.number,\r\n\tallItems: PropTypes.arrayOf(PropTypes.object)\r\n}\r\n```\r\n\r\nWłasność __startIndex__ jest ustawiana przez parent component, załóżmy że na skutek przewijania kółkiem myszy.\r\n\r\nW render function należy dla każdego elementu dom użyć **key** aby pomóc algorytmowi w rekonsyliacji. Skąd brać wartość atrybutu **key** aby zachować minimalną ilość mutacji podczas \"przewijania\" - inkrementowania własności __startIndex__.\r\n\r\nA skąd **key** należałoby brać, gdyby lista nie była wirtualna?"
257 ],
258 "other - mid": [
259 "Wymień znane Ci wzorce projektowe i opisz jeden z nich",
260 "Wyjaśnij na czym polega wstrzykiwanie zależności (Dependency Injection)",
261 "Co to jest SOLID? Rozwiń i omów jedną z zasad.",
262 "Jakie znasz narzędzia i mechanizmy do zapewniania jakości kodu.",
263 "Omów różnice między formatami XML a JSON",
264 "Jak radzisz sobie z mockowaniem danych? jakich narzędzi do tego używasz?",
265 "Jak radzisz sobie z testowaniem swojego kodu? jakich narzędzi używasz",
266 "Czym jest *Continous Integration*?",
267 "Czym są WebSockets",
268 "Czym jest *Continuous Delivery*",
269 "Dodawanie drugiego języka na stronie - Czy lepiej poprzez *JavaScript* podmienić po kliknięciu tekst, czy lepiej stworzyć drugą wersję strony? Co lepsze pod pozycjonowanie?",
270 "Jaka jest dla Ciebie największa korzyść z pracy w zespole Scrumowym?",
271 "W czym wolisz kodować? w JS czy w TS? jakie widzisz benifity w użyciu TS?",
272 "Podaj przykłady dowolnych algorytmów",
273 "Czym są typy generyczne? kiedy się przydają?",
274 "Czy masz doświadczenie z Dockerem? do czego służy?"
275 ],
276 "js - mid": [
277 "Dany jest string domino\r\n`\"1-2,2-1,1-2,3-1,2-3,3-4,4-3,3-2,2-\r\n1,1-1,1-1,1-2,2-1,1-2,3-2,1-2\"`.\r\n\r\nNapisz funkcję, która zwróci długość najdłuższego, poprawnego ciągu domino.\r\n\r\nW tym przypadku ten ciąg to `\"2-3,3-4,4-3,3-2,2-1,1-1,1-1,1-2,2-1,1-2\"`,\r\na jego długość to 10.",
278 "Czym jest _currying_ i _partial application_?",
279 "Co nowego w ES2015, ES2016, ES2017 i ES2018?",
280 "Czym są `union types` i `intersection types` w TypeScript",
281 "Do czego służy tryb `'use strict'`?",
282 "Wyjaśnij do czego służą funkcje `call`, `bind` i `apply` oraz wskaż różnice pomiędzy nimi.",
283 "Jaka jest różnica pomiędzy *function expression* a *function declaration*?",
284 "Czym jest barrel w ES6 i do czego służy?",
285 "`Promise` vs *callback* — omów różnice, kiedy stosuje się jeden, a kiedy drugi?",
286 "Czym sa funkcje wyższego rzędu (*higher order functions*)?",
287 "Jaki będzie wynik sprawdzenia tego warunku?\r\n```javascript\r\nconsole.log(3 > 2 > 1);\r\n```\r\n\r\nDlaczego tak się dzieje?",
288 "Czym są *polyfille* i do czego służą? Czym różni się *polyfill* od *shim*?",
289 "Czym jest *Property Descriptor*? Omów jego składowe.",
290 "Na czym polega memoizacja?",
291 "Napisać TODO app zgodnie z MVC.\r\nWymagania: dodawanie / usuwanie / pobieranie listy zadań z serwera (istniejące REST API, napisać tylko front-end).",
292 "Czym jest `prototype`?",
293 "Podaj przykład wycieku pamięci (*memory leak*). Jak mu zaradzić?",
294 "Czym jest *capturing phase* w zdarzeniach?",
295 "Napisz algorytm, który sprwadzi czy nawiasy w ciągu znaków są domknięte i pasujące.\r\n\r\nNa przykład, `\"{ac[bb]}\"`, `\"{dklf(df(kl))d]{}\"` i `\"{[[[]]]}\"` są poprawne. Ale ` \"{3234[fd\"` i `\"{df][d}\"` już nie.",
296 "Jak przejąć kontrolę nad right-click'iem myszki?",
297 "Wyjaśnij na czym polega programowanie asynchroniczne w JS.",
298 "Kiedy i dlaczego używa się funkcji *throttle* i *debounce* ?",
299 "Czym są i do czego służą source-mapy?",
300 "Czym się różni *node* od *element*?",
301 "Co to jest Ecma TC39? Jakie są tzw. \"stages\" i jakie jest ryzyko związane z używaniem standardów na różnych \"stages\".",
302 "Jak mają się do siebie poszczególne technologie/narzędzia?\r\n\r\n*Babel, Webpack, Gulp, NPM, node, Typescript, Flow, Babel Less Loader*\r\n\r\nChodzi głównie o to, które z powyższych się wykluczają (nie ma sensu używać razem), w jakiej kolejności są używane:\r\nPrzykład:\r\n\"npm ściąga zależności, może też uruchomić skrypt webpacka, który dla danego typu pliku używa odpowiedniego loadera (less - less loader, js - babel).\"",
303 "Jaka jest różnica między *Object.freeze* a *Object.seal* ?",
304 "W jaki sposób realizowane jest dziedziczenie w JavaScript?",
305 "Napisz funkcję, która będzie wywoływać się co 0,5 sekundy. Funkcja powinna wywołać się nie więcej niż 4 razy. Dodatkowo powinna mieć opcje natychmiastowego zatrzymania.",
306 "Jak w JS zasymulować wielowątkowość?",
307 "Gdzie stosownie domknięć (closures) nie jest zalecane?",
308 "[TypeScript] Co to jest _discriminated union_?",
309 "Jaki _subtyping system_ mamy w TypeScript? Jakie są tego konsekwencje?",
310 "Czy klonując obiekt w JS, kopiują się również jego metody? kiedy tak, a kiedy nie?"
311 ],
312 "html - mid": [
313 "Wyjaśnij różnice pomiędzy `<script>`, `<script async>` i `<script defer>`",
314 "Czym się różni atrybut od właściowści (property) węzła html",
315 "Do czego służą atrybuty `srcset` oraz `sizes` użyte na tagu `<img>` ?"
316 ],
317 "git - mid": [
318 "Jaka jest różnica między `git rebase` a `git merge`",
319 "Do czego służy *cherry pick*?",
320 "Do czego służy `git stash`?",
321 "Jaką komendą możesz porzucić wszystkie wykonane zmiany w kodzie i wrócić do stanu z ostatniego commita?",
322 "Różnice między GIT a SVN. Który system kontroli wersji wybrałbyś do projektu?"
323 ],
324 "css - mid": [
325 "Jakie właściwości powinniśmy animować, aby zapewnić wysoką płynność animacji, a jakie nie powinny być animowane?",
326 "Czym jest stos Z-INDEX, jak działa?",
327 "**SASS**: Jakie są różnice między `@mixin`, `@function` i `@extends`?",
328 "Jaki kod (kolory) wyświetli powyższy mixin?\r\n\r\n```\r\n$color: #f00;\r\n\r\n@mixin button($color: #fff) {\r\n font-size: 1.6rem;\r\n text-decoration: none;\r\n color: $color;\r\n @content;\r\n}\r\n\r\n.button-error {\r\n @include button {\r\n background-color: $color;\r\n }\r\n}\r\n```",
329 "W jaki sposób można zamienić 2 elementy `<div>` miejscami nie używając float. Podaj klika sposobów.",
330 "Napisz na kartce kod strony, który odzwierciedli wygląd szablonu. Użyj flexboxa."
331 ],
332 "angular - mid": [
333 "Wymień sposoby komunikacji komponentów w Angular 4 (np. poprzez dekoratory Input / Output lub bidirectional service).",
334 "(Angular 2+) Zakładając, że pracujemy na bardzo dużej aplikacji - jakie znasz narzędzia i mechanizmy do optymalizacji wydajności i czasu ładowania aplikacji?",
335 "(Angular 2+) Promise vs Observable - omów różnice, kiedy stosujemy jeden a kiedy drugi?",
336 "(Angular 2+) constructor vs ngOnInit - czym się różnią i co leży w nich umieszczać",
337 "(Angular 2+) Omów zarządzanie subskypcjami strumieni. Kiedy i które subskrypcje należy zamykać explicite?",
338 "(AngularJS) ng-hide/ng-show vs ng-if - omów różnice",
339 "Omów różnice w instancjonowaniu serwisów w AngularJS i Angular 2+",
340 "(Angular 2+; TypeScript) private, public, protected - do czego służą, na co wpływają.",
341 "Jakie znasz techniki manipulacji drzewem DOM? (np. klasa Renderer2)",
342 "Czym jest lazy loading i jak go zaaplikować w aplikacji?",
343 "Jakie akcje powodują uruchomienie się systemu detekcji",
344 "Jakie hooki cyklu życia komponentu uruchamiają się za każdym razem jak rusza system detekcji",
345 "Jak dostarczyć dane do widoku, przed aktywacją routa",
346 "Jaka jest różnica pomiędzy komponentem, a dyrektywą?",
347 "W jaki sposób sprawdzisz podczas zmiany state'a czy użytkownik ma uprawnienia do jego wyświetlenia?",
348 "Do czego służą guardy, wymień zastosowania",
349 "Za co odpowiada dekorator @Injectable() w serwisach",
350 "Omów jak wygląda data flow w Angular (dane płyną w dół, eventy w górę...)",
351 "Jak złapać referencję do konkretnej instancji dyrektywy nałożonej na dany element?",
352 "Czym są `entryComponents`?",
353 "Jakbyś zanimował element, który pojawia się i znika za pomocą dyrektywy `*ngIf`",
354 "Jak poradziłbyś sobie z doklejaniem tokena do każdego żądania http?",
355 "Jaki problem rozwiązuje funkcja `SwitchMap` z RxJS",
356 "Jaka jest widoczność usługi, zarejestrowanej na poziomie modułu? w całej aplikacji, czy tylko w tym danym module?",
357 "co to jest JIT i AOT - i jakie są różnice pomiędzy nimi",
358 "Co to są pipes? co oznacza, że pipe może być pure?",
359 "Wyjaśnij jak działa system detekcji w Angularze?",
360 "Do czego służy klasa _ChangeDetectorRef_?",
361 "Podaj kilka sposobów na poprawienie wydajności aplikacji.",
362 "Co spowoduje uruchomienie procesu _change detection_ w komponencie z _changeDetectionStrategy _ustawioną na _OnPush_?",
363 "Jakie korzyści daje nam użycie AsyncPipe przy subskrypcji? Wymień 3.",
364 "Omów czynności wykonywane w ramach zmiany route'a.",
365 "W jaki sposób zaimplementujesz cache zapytań http w Angularze?",
366 "Wymień rodzaje _flattening operators_ z biblioteki RxJS i omów podstawowe różnice między nimi.",
367 "Omów różnicę pomiędzy hot/cold observable (RxJS). ",
368 "Wymień sposoby na uzyskanie _multicastingu _w RxJS.",
369 "Opisz różnicę między operatorami share i shareReplay w bibliotece RxJS.",
370 "Opisz sposoby obsługi błędów podczas korzystania z biblioteki RxJS.",
371 "W jaki sposób korzystając z ngIf \"as\" syntax można uzyskać dostęp do falsy value wyemitowanej przez stream?",
372 "Czym są meta reducery w NgRx?",
373 "W jaki sposób zmienić synchroniczny observable of() na asynchroniczny stream?",
374 "Co może być źródłem dla ngrx/effects poza stream'em akcji wysyłanych do Store?",
375 "Jakie wskazówki dałbyś osobom zaczynającym korzystać z Angulara (czego się wystrzegać, np. dodawania wszystkiego do jednego modułu)?",
376 "Dlaczego _two-way data binding _nie jest dobrym rozwiązaniem?",
377 "Z jakich wzorców korzystałeś podczas dotychczasowej pracy w Angularze?",
378 "Jakbyś wytłumaczył architekturę Angulara?",
379 "Dlaczego metoda forRoot jest deprecated?"
380 ],
381 "react - senior": [
382 "Napisz *higher order component*, który wyświetli spinner gdy nie ma danych (np. o nazwie `data`) oraz przekazany komponent gdy dane są.",
383 "Masz komponent listy zaznaczanej myszką.\r\nInformację o zaznaczonym elemencie oraz listę elementów zdobędziesz z redux store.\r\n\r\nZaprojektuj strukturę komponentów (chodzi o List, ListItem oraz odpowiednie użycie connect z *Redux*).\r\nJak może ona wyglądać, gdy spodziewasz się w liście 10 elementów, a jak będzie wyglądała gdy będzie ich 200.\r\n\r\nPrzyjmij założenie, że w każdym elemencie listy znajduje się CheckBox z biblioteki material-ui który w *componentDidUpdate* wykonuje pewne operacje na DOM które zajmują 10ms.",
384 "Gdzie zastosujesz createSelector z biblioteki reselect?\r\nJak wygląda *connect()* z Reduxa, jeśli selektor ma być per instancja a nie globalny?",
385 "Wymień wady i zalety zastosowania Mobx i Reduxa w już istniejącej aplikacji React."
386 ],
387 "other - senior": [
388 "Czym jest JWT i do czego służy (JSON Web Token).\r\nJakie są jego wady i zagrożenia z nich płynące?",
389 "Na czym polegają podejścia TDD, BDD i DDD?",
390 "Jaka jest różnica między *anotacją* a *dekoratorem* (Annotation vs decorator) ?",
391 "Jakie znasz rodzaje komunikacji na linii frontend - backend? Opisz i wskaż różnice. (np. REST, SOAP, Websockets)."
392 ],
393 "js - senior": [
394 "Wyjasnij pojecia *immutability* oraz *persistent data structures*?",
395 "Dana jest tablica ciągu liczb, np. `[4, 7, 3, 2, 1, 7, 5, 3, 12, 13]`... (dużo więcej liczb).\r\nZnajdź najdłuższy, monotoniczny podciąg w tej tablicy. Czas 30 minut.",
396 "Opisz czym jest kolejka zdarzeń / pętla zdarzeń (*event loop*).",
397 "Wyjaśnij w jaki sposób przekazywane są argumenty do funkcji w JS. Czym się różni ten sposób od przekazywania przez wartość (*pass by value*) albo przez referencję (*pass by reference*)? Jakie są tego implikacje?",
398 "Czym są i do czego służą operatory bitowe?",
399 "Co daje nam użycie klasy Proxy? Kiedy nam się to może przydać?",
400 "Napisz funkcję z memoizacją i ciągiem Fibonacciego"
401 ],
402 "html - senior": [
403 "Czym jest Shadow DOM?"
404 ],
405 "git - senior": [
406 "W jaki sposób możesz zachować zmiany w plikach, które powodują konflikty i\r\nnie mogą zostać zkomitowane przed odświeżeniem brancha?",
407 "Jak złączyć parę ostatnich N commitów w jeden?",
408 "Czym są git hooks i do czego mogą się przydać? (np. do auto deploymentu po pushu do developa)",
409 "W jaki sposób można wykonać ręcznie polecenie git flow hotfix finish VERSION?"
410 ],
411 "css - senior": [
412 "Czym są poniższe etapy renderowania: Layout, Paint, Composite?",
413 "`left` i `transition`: która z właściwości robi reflow? (chodzi o performance animacji)",
414 "Czym jest Critcal CSS?",
415 "Czym jest _Critical CSS_?",
416 "Czym _CSS Trigers_?"
417 ],
418 "angular - senior": [
419 "W jakii sposób można dynamicznie wyrenderować komponent wraz z bindingami w AngularJS?",
420 "Czym jest `ngZone` i jak możesz je wykorzystać do poprawienia wydajności aplikacji?",
421 "Omów różnice między kompilacjami AOT i JIT.",
422 "W jaki sposób zaimplementować własną dyrektywę, która pozwoli na dodanie/usunięcie elementu z drzewa DOM na podstawie parametru wejściowego (Input property)?",
423 "Opisz czynności wykonywane w ramach procesu _change detection_.",
424 "Czym są _entryComponents_? Wymień przykładu _entryComponents _w aplikacji Angularowej.",
425 "Angularowa aplikacja to drzewo komponentów czy widoków?",
426 "Czym jes NgZone? Czy aplikacja w Angularze może działać bez NgZone?"
427 ]
428}