Természetesen, Gábor! Az alábbiakban pontokba szedve kifejtem, mire utalhatnak ezek az interjú szempontok egy medior frontend fejlesztői szinthez illően, külön TypeScript, JavaScript és ökoszisztéma fókuszra bontva.
✅ „Deklaratív kód (pl. array)”
A deklaratív kód azt jelenti, hogy megmondod, mit akarsz, nem pedig azt, hogyan történjen.
Példa imperatív vs deklaratív:
// Imperatív (hogyan csinálja)
const numbers = [1, 2, 3, 4];
const doubled: number[] = [];
for (let i = 0; i < numbers.length; i++) {
doubled.push(numbers[i] * 2);
}
// Deklaratív (mit akarunk)
const doubled = numbers.map(n => n * 2);
map,filter,reduce= deklaratív szemlélet.- Angular template binding (
*ngIf,*ngFor) szintén deklaratív DSL-t használ.
✅ TypeScript típusok: void, any, unknown, never
void
- Függvények visszatérési típusa, ha nem adnak vissza semmit.
function logMessage(msg: string): void {
console.log(msg);
}
any
- Kikapcsolja a típusellenőrzést.
- Kerülendő, csak legacy vagy dinamikus adattípusok esetén.
let value: any = 42;
value = 'hello';
value = { foo: 'bar' };
unknown
- Biztonságosabb
any. Nem használhatod közvetlenül, előbb ellenőrizni kell a típusát.
let input: unknown = getInput();
if (typeof input === 'string') {
console.log(input.toUpperCase());
}
never
- Függvény soha nem tér vissza, például ha dob egy hibát vagy végtelen ciklust tartalmaz.
function throwError(message: string): never {
throw new Error(message);
}
✅ Entity types, entity objects
Ez feltehetően az adatmodellezésre utal – például típusok, amik valós entitásokat reprezentálnak:
Példa:
type User = {
id: number;
name: string;
email: string;
};
const userEntity: User = {
id: 1,
name: 'Anna',
email: 'anna@example.com',
};
- Ezeket gyakran használod REST API vagy GraphQL válaszokhoz.
- A DTO-k (
Data Transfer Objects) vagy interface-ek ezekre épülnek.
✅ Leggyakoribb 3rd party library-k
Ha Angular frontend fejlesztés a fő terület (ami nálad gyakori), akkor Angular-höz kapcsolódó 3rd party könyvtárak:
- PrimeNG, Angular Material, Swiper, Transloco, TailwindCSS
- RxJS operators:
switchMap,debounceTime,catchError, stb. - Transloco, NgRx, NGXS
JavaScript / TypeScript ökoszisztémában gyakori:
| Könyvtár | Mire való |
|---|---|
| Lodash / Ramda | Utility függvények (_.cloneDeep, _.merge, stb.) |
| Axios | Promise alapú HTTP kliens |
| date-fns / moment | Dátum kezelés |
| Zod, Yup | Objektum séma validáció |
| RxJS | Reaktív programozás (Angular része is) |
| Jest, Vitest, Testing Library | Tesztelés |
| uuid | Egyedi ID generálás |
| class-validator | Objektum validáció backendre vagy NestJS-re |
| Formik, React Hook Form | Formakezelés React-ben |
| NgRx, Redux, MobX | Állapotkezelés |
Összefoglalás (gyors áttekintő kérdésekhez):
- Deklaratív:
map,filter,*ngFor,ngIf,Reactive Forms. void: nincs return.any: bármilyen típus (kerülendő).unknown: típusellenőrzés után használható.never: soha nem tér vissza (pl.throw).- Entity type:
User,Post,Producttípus/interface. - 3rd party lib:
axios,lodash,rxjs,primeng,angular material, stb.
Ha szeretnél, adhatok gyakorló feladatokat vagy kérdéssorokat ezekből.