50 najpopularnijih JSON pitanja i odgovora za intervju (2026.)

Pitanja i odgovori za JSON intervju

Pripremate se za JSON intervju? Bitno je predvidjeti što je najvažnije u svakom JSON intervjuu jer pitanja otkrivaju dubinu, jasnoću i uvid u rješavanje problema za svakog kandidata.

Rastuća potražnja za strukturiranim podacima stvara prilike u različitim ulogama koje zahtijevaju tehničku stručnost i stručnost u domeni, uz potporu tehničkog iskustva i analize koje jačaju skup vještina i pomažu početnicima, iskusnim i višim stručnjacima da rješavaju uobičajena pitanja i odgovore radeći na terenu s menadžerima i voditeljima timova diljem svijeta danas.

Naše smjernice odražavaju uvide prikupljene od više od 72 tehnička voditelja, nadopunjene povratnim informacijama 58 menadžera i perspektivama 94 stručnjaka, osiguravajući pokrivenost različitih obrazaca intervjua i praktičnih iskustava.
Čitaj više…

👉 Besplatno preuzimanje PDF-a: Pitanja i odgovori za intervju za JSON

Najčešća pitanja i odgovori za JSON na intervjuu

1) Objasnite što je JSON i opišite njegove ključne karakteristike s primjerima.

JSON je lagani format za razmjenu podataka dizajniran da bude čitljiv i ljudima i strojno prilagođen. Njegova struktura je izvedena iz JavaLiterali skriptnih objekata, ali su neovisni o jeziku, što ih čini pogodnima za moderne API-je, konfiguracijske datoteke i razmjenu podataka web aplikacija. Ono što JSON čini posebno moćnim je njegova predvidljiva struktura: parovi ključ-vrijednost, nizovi, ugniježđivanje i strogo tipiziranje podataka.

Ključne karakteristike:

  • Struktura čitljiva ljudima
  • Podaci organizirani u parovima ime/vrijednost
  • Podržava nizove znakova, brojeve, objekte, nizove, logičke vrijednosti i null vrijednosti
  • Jednostavno parsiranje na više jezika
  • Pogodno za RESTful servise, NoSQL baze podataka i mikroservise

Primjer:

{
  "id": 101,
  "name": "Alice",
  "roles": ["admin", "editor"],
  "active": true
}

2) Kako opisujete različite tipove podataka koje podržava JSON i gdje se obično koriste?

JSON podržava ograničen, ali moćan skup tipova podataka namijenjenih pojednostavljenju parsiranja i interoperabilnosti. Svaki tip podataka igra specifičnu ulogu u predstavljanju strukturiranih informacija, što je ključno za API odgovore, konfiguracijske datoteke, telemetriju i definicije shema.

Vrste i tablica upotrebe

Vrsta JSON Description Primjer uobičajene upotrebe
Niz Tekstualni podaci u navodnicima Imena, e-mail adrese
Broj Cijeli ili pomični broj Cijene, metrike
Objekt Kolekcija parova ključ/vrijednost API korisni tereti
Poredak Uređeni popis vrijednosti Zbirke, popisi
Booleova istina ili laž Zastavice, prekidači značajki
nula Predstavlja nedostajuću vrijednost Neobavezna polja

Primjer upotrebe: U API-jima za e-trgovinu, detalji o proizvodu često kombiniraju sve ove vrste kako bi izgradili cjelovitu reprezentaciju resursa.


3) Koja je razlika između JSON-a i XML-a i kada bi se svaki od njih trebao koristiti?

JSON i XML su formati za razmjenu podataka, ali se razlikuju po sintaksi, čitljivosti, mogućnostima validacije i podržanim strukturama podataka. JSON preferira jednostavnost i kompaktnost, dok XML naglašava strogu strukturu i tijekove rada vođene dokumentima.

Tabela za usporedbu

Faktor JSON XML
Sintaksa Lagan, JavaSličan skripti Opširne oznake
Struktura podataka Prirodno podržava objekte i nizove Hijerarhijski na temelju stabla
čitljivost Lakše za čitanje Kompleksnije
Potvrđivanje JSON shema xsd
Koristite slučaj API-ji, konfiguracije Dokumenti, SOAP usluge

Kada koristiti: Koristite JSON za moderne RESTful API-je i laganu komunikaciju. Odaberite XML kada su označavanje dokumenata, atributi i stroga validacija bitni (npr. bankarski sustavi ili SOAP usluge).


4) Koji alati ili metode mogu validirati JSON i zašto je validacija važna?

Validacija osigurava da se JSON pridržava očekivane strukture, tipova podataka i ograničenja definiranih shemom ili ugovorom. Bez validacije, aplikacije mogu tiho zakazati ili proizvesti oštećene tokove podataka.

Uobičajene metode validacije:

  • Validatori JSON sheme (AJV, jsonschema, Python'S jsonschema)
  • Online validatori (JSONLint)
  • IDE dodaci (VS Code JSON validator)
  • Validacija za vrijeme izvođenja putem API pristupnika

Primjer scenarija: Platni sustav koji validira JSON podatke sprječava oštećena ili nedostajuća polja koja bi mogla ugroziti transakcije.


5) Kako JSON shema funkcionira i kakav je njezin životni ciklus u poslovnom okruženju?

JSON shema je vokabular koji se koristi za definiranje strukture, tipova podataka i pravila validacije za JSON dokumente. Njegov životni ciklus obično odražava životni ciklus verzioniranja API-ja: stvaranje, poboljšanje, testiranje, objavljivanje, provođenje i ukidanje.

Faze životnog ciklusa:

  1. Prikupljanje zahtjeva
  2. Osnovna shema crtanja
  3. Verziranje i testiranje
  4. Integracija u API ugovore
  5. Provedba putem pristupnika ili middlewarea
  6. Praćenje i ažuriranja
  7. Zastara i zamjena

Primjer: API za uključivanje korisnika može zahtijevati shemu koja provjerava formate e-pošte, dobne raspone i dopuštene uloge kako bi se osigurala dosljedna kvaliteta podataka.


6) Koje su neke prednosti i nedostaci korištenja JSON-a u distribuiranim sustavima?

JSON se ističe u distribuiranim sustavima zbog svoje prenosivosti i malog prostora, ali također ima ograničenja u pogledu binarne podrške i provođenja sheme.

Za i protiv

Prednosti Nedostaci
Lagan i brz Nema izvorne binarne podrške
Univerzalna jezična podrška Ograničene vrste podataka
Čitljivo ljudima Može postati veliko kada se duboko ugnijezdi
Dobro funkcionira s REST-om Nema ugrađenih komentara

Primjer: Mikroservisna arhitektura koja razmjenjuje metapodatke korisnika ima koristi od jednostavnosti JSON-a, ali veliki slikovni sadržaji zahtijevali bi Base64 kodiranje, povećavajući veličinu.


7) Kako parsirate JSON u različitim programskim jezicima? Navedite primjere.

Parsiranje JSON-a obično uključuje ugrađene biblioteke koje pretvaraju nizove znakova u objekte ili strukturirane tipove. Proces je obično jednostavan i konceptualno gotovo identičan u svim jezicima.

Primjeri:

Javaskripta:

const obj = JSON.parse(jsonString);

Python:

import json
data = json.loads(json_string)

Java:

JSONObject obj = new JSONObject(jsonString);

Parsiranje je ključno pri korištenju API-ja, obradi logova ili čitanju konfiguracijskih datoteka u distribuiranim aplikacijama.


8) Koji čimbenici određuju je li JSON pravi izbor za API korisne podatke?

Odabir JSON-a za API ovisi o zahtjevima performansi, veličini korisnog tereta, kompatibilnosti klijenta i složenosti modela podataka. Timovi procjenjuju alternativne formate kao što su Protobuf, YAML ili XML na temelju latencije, strogosti sheme i potreba za binarnim prijenosom.

Ključni čimbenici:

  • Interoperabilnost s klijentima
  • Potreba za strogim provođenjem sheme
  • Ograničenja performansi
  • Veličina podataka i opterećenje serijalizacije
  • Ekosustav alata

Primjer: IoT uređaji s ograničenim mrežama mogu preferirati Protobuf, dok je JSON najbolje rješenje za web nadzornu ploču koja poziva REST API-je.


9) Jesu li komentari dopušteni u JSON-u? Objasnite zašto i navedite alternative.

Standardni JSON ne dopušta komentare jer bi komentari mogli ometati parsiranje podataka i kršiti stroga pravila formata definirana specifikacijom. Međutim, programerima su često potrebni metapodaci ili bilješke o konfiguraciji.

Alternative:

  • Koristite JSONC (JSON s komentarima), koji se koristi u VS Code postavke
  • Dodaj _comment ključ unutar JSON-a (široko se koristi u konfiguracijama)
  • Koristite YAML kada su potrebni komentari

Primjer:

{
  "_comment": "Max retries for API calls",
  "retryLimit": 5
}

10) Koji su različiti načini smanjenja veličine JSON-a radi optimizacije performansi?

Smanjenje JSON otiska poboljšava latenciju mreže, propusnost API-ja i učinkovitost pohrane. Tijekom serijalizacije, transporta i pohrane mogu se primijeniti različite tehnike.

Metode optimizacije

  • Minifikacija (uklanjanje razmaka)
  • Kraće tipke ("fn" umjesto "firstName")
  • Kompresija (GZIP, Brotli)
  • Izbjegavajte redundantno ugniježđivanje
  • Koristite nizove umjesto objekata kada je redoslijed važan
  • Zamijenite objekte kodirane u Base64 formatu binarnim transportima kad god je to moguće

Primjer: Mobilna aplikacija koja koristi minificirani JSON preko Brotli kompresije može smanjiti korištenje propusnosti za više od 40 posto.


11) Kako JSON obrađuje ugniježđene strukture podataka i koje su prednosti i nedostaci dubokog ugniježđivanja?

Ugniježđeni objekti i nizovi omogućuju JSON-u predstavljanje složenih hijerarhijskih podataka. To je posebno korisno za modeliranje entiteta kao što su korisnički profili, nadzorne ploče, katalozi e-trgovine i podaci o praćenju. Međutim, prekomjerno ugniježđivanje može uvesti opterećenje parsiranja, smanjiti čitljivost i zakomplicirati API ugovore.

Prednosti u odnosu na nedostatke dubokog ugniježđivanja

Prednosti Nedostaci
Logički organizira povezane podatke Teže za čitanje i održavanje
Smanjuje duplicirane ključeve Dulje vrijeme parsiranja
Podržava hijerarhijske modele iz stvarnog svijeta Povećana veličina korisnog tereta
Fleksibilno za složene odnose Teško je postavljati upite u nekim NoSQL trgovinama

Primjer:

{
  "order": {
    "customer": {
      "name": "David",
      "address": {
        "street": "45 West Ave",
        "city": "Boston"
      }
    },
    "items": [
      { "id": 1, "qty": 2 },
      { "id": 9, "qty": 1 }
    ]
  }
}

12) Što je JSONP i po čemu se razlikuje od standardnog JSON-a? Objasnite primjerom.

JSONP (JSON s popunjavanjem) je tehnika koja se povijesno koristila za prevladavanje pravila istog porijekla u preglednicima prije nego što je CORS postao široko rasprostranjen. Umjesto vraćanja sirovog JSON-a, poslužitelj omotava odgovor u funkciju povratnog poziva, omogućujući izvršavanje kao skripte.

Razlika:

  • JSON su sirovi podaci.
  • JSONP se izvršava kao JavaSkripta.

Primjer:

callbackFunction({
  "user": "alex",
  "role": "viewer"
});

JSONP je zastario za većinu modernih sustava, ali neke starije integracije ga i dalje koriste samo kada <script> Ubrizgavanje oznaka je dopušteno.


13) Koje su neke uobičajene pogreške koje programeri rade pri radu s JSON-om?

Uobičajene zamke obično se vrte oko sintaktičkih pogrešaka, netočnih pretpostavki o tipovima i kršenja sheme. Ove pogreške postaju skupe pri servisiranju distribuiranih sustava ili cjevovoda vođenih događajima.

Tipične pogreške:

  • Nedostaju zarezi ili navodnici
  • Završni zarezi
  • Korištenje nepodržanih tipova (Datum, nedefinirano, funkcije)
  • Neispravno kodiranje posebnih znakova
  • Zaboravljanje validacije prema JSON shemi
  • Duboko gniježđenje bez svrhe

Primjer: Pokušavam ugraditi JavaSkriptna funkcija unutar JSON-a će prekinuti parsiranje jer JSON ne može predstavljati izvršni kod.


14) Kako se serijalizira i deserializira JSON u strogo tipiziranim jezicima kao što su Java ili C#?

Strogo tipizirani jezici zahtijevaju mapiranje JSON struktura na klase ili modele tijekom serijalizacije i deserijalizacije. Ovi jezici oslanjaju se na biblioteke koje vežu JSON ključeve na svojstva s odgovarajućim nazivima ili mapiranjima temeljenim na anotacijama.

Java Primjer (Jackson):

ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(jsonString, User.class);

C# primjer (System.Text.Json):

User user = JsonSerializer.Deserialize<User>(jsonString);

Serijalizacija je ključna pri slanju objekata odgovora iz API-ja ili modela perzistentne konfiguracije.


15) Kada biste trebali koristiti nizove u JSON-u umjesto objekata i koji čimbenici utječu na tu odluku?

Nizovi su idealni kada je redoslijed elemenata važan ili kada predstavljaju kolekcije sličnih stavki. Objekti su najbolji kada je potrebno pretraživanje na temelju ključa. Odabir ispravne strukture poboljšava učinkovitost, čitljivost i jasnoću sheme.

Čimbenici odluke

  • Ima li kolekcija jedinstvene identifikatore
  • Je li redoslijed važan
  • Dijele li elementi istu strukturu
  • Je li potrebno brzo pretraživanje po ključu

Primjer: Koristite nizove za popis ID-ova proizvoda; koristite objekte za postavke konfiguracije označene imenom.


16) Koja je razlika između JSON.stringify() i JSON.parse() u JavaSkripta?

JSON.stringify() pretvara JavaSkriptirajte objekte u nizove znakova formatirane u JSON-u, dok JSON.parse() pretvara JSON nizove natrag u JavaObjekti skripte. Zajedno tvore standardni životni ciklus serijalizacije-deserijalizacije koji se koristi u localStorageu, potrošnji API-ja i predmemoriranju.

Primjer:

const json = JSON.stringify({ id: 5 });
const obj = JSON.parse(json);

stringify() također podržava funkciju zamjene i parametre razmaka, što ga čini korisnim za otklanjanje pogrešaka ili prilagođeno filtriranje.


17) Može li JSON predstavljati binarne podatke? Ako ne, na koje različite načine programeri zaobilaze ovo ograničenje?

JSON ne može izvorno predstavljati binarne podatke. Kako bi to zaobišli, programeri moraju serijalizirati binarne podatke pomoću tekstualno sigurnih kodiranja. Ovo ograničenje postaje uočljivo u obradi slika, telemetriji ili prijenosu medija.

Uobičajeni pristupi

  • Base64 kodiranje
  • Heksadecimalno kodiranje
  • Korištenje višedijelnih/formalnih podataka za miješane korisne sadržaje
  • Korištenje binarno prilagođenih formata poput Protobufa

Primjer: Slike poslane putem JSON REST API-ja obično se prikazuju kao Base64 nizovi, povećavajući veličinu za otprilike 33 posto.


18) Koja je uloga praznog prostora u JSON-u? Utječe li na parsiranje ili interpretaciju podataka?

Praznine u JSON-u se zanemaruju tijekom parsiranja i ne utječu na semantiku. Postoje isključivo radi čitljivosti. Uklanjanje praznih prostora minimizacijom smanjuje propusnost i poboljšava performanse. Međutim, prekomjerna količina praznih prostora može otežati ručno upravljanje velikim JSON datotekama.

Primjer: Obje verzije u nastavku proizvode identične objekte:

Readable:

{ "id": 1, "name": "Sam" }

Minimizirano:

{"id":1,"name":"Sam"}

19) Kako JSON web tokeni (JWT) koriste JSON i koje su njihove karakteristike?

JWT koristi JSON objekte kodirane kao Base64URL nizove za siguran prijenos informacija između stranaka. Tipični JWT sastoji se od zaglavlja, korisnog tereta i potpisa. Ove komponente omogućuju autentifikaciju bez stanja u distribuiranim sustavima i mikroservisima.

Karakteristike JWT-a

  • Kompaktno i sigurno za URL-ove
  • Samostalni s tvrdnjama
  • Potpisano radi osiguranja integriteta
  • Dobro funkcionira u arhitekturama bez stanja

Primjer: Korisni teret je jednostavan JSON objekt koji sadrži tvrdnje kao što su sub, iati exp.


20) Koje strategije pomažu u učinkovitom upravljanju velikim JSON datotekama u API-jima ili sustavima za pohranu?

Velike JSON datoteke mogu usporiti I/O, povećati korištenje memorije i smanjiti latenciju. Učinkovite strategije uključuju strujanje, paginaciju, selektivnu serijalizaciju, dizajn sheme i kompresiju.

Učinkovite strategije

  • Parsiranje streama (slično SAX-u)
  • Paginacija i filtriranje na strani poslužitelja
  • Razdvajanje monolitnih dokumenata na manje dijelove
  • JSON kompresija s GZIP-om ili Brotlijem
  • Odvojeno pohranjivanje velikih odjeljaka (npr. S3 + metapodaci JSON)

Primjer: API za izvješćivanje može strujati rezultate umjesto učitavanja JSON datoteke od 300 MB u memoriju.


21) Koja je razlika između JSON-a i YAML-a i kada bi se svaki od njih trebao koristiti?

JSON i YAML predstavljaju strukturirane podatke, ali se njihove filozofije dizajna razlikuju. JSON je strog, lagan i optimiziran za strojeve, dok je YAML ekspresivan, orijentiran na ljude i osjetljiv na uvlačenje. Odabir jednog ovisi o zahtjevima čitljivosti, alatima, ograničenjima okruženja i životnom ciklusu konfiguracije ili razmjene podataka.

Ključne razlike

Faktor JSON YAML
Sintaksa Stroge zagrade i zarezi Na temelju uvlačenja
čitljivost Rigidniji Vrlo čitljivo
Vrste podataka Ograničeni set Bogatije vrste
Komentari Nije dozvoljeno Podržano
Upotreba API-ji, pohrana Konfiguracije, cjevovodi

Primjer upotrebe: YAML je preferiran za Kubernetes manifeste zbog čitljivosti, dok JSON ostaje temelj za REST API-je.


22) Na koje se različite načine JSON može koristiti u web razvoju?

JSON igra središnju ulogu u modernim web aplikacijama omogućujući besprijekornu komunikaciju između front-end i back-end usluga. Koristi se za API-je, upravljanje konfiguracijom, pohranjivanje postavki aplikacije, predmemoriranje i trajnost podataka na strani klijenta. JSON također omogućuje renderiranje komponenti u okvirima poput Reacta i prijenos podataka u AJAX pozivima.

Uobičajene upotrebe:

  • REST API odgovori
  • AJAX dohvati pozive
  • Upravljanje stanjem na strani klijenta (localStorage/sessionStorage)
  • Konfiguracijske datoteke
  • GraphQL i NoSQL trgovine
  • Webhookovi i obavijesti o događajima

Primjer: React aplikacija često hidratizira UI komponente dohvaćanjem JSON-a iz Node.js backenda.


23) Kako se rješavaju pogreške prilikom parsiranja JSON-a i koji čimbenici određuju najbolji pristup rješavanju pogrešaka?

Rješavanje pogrešaka parsiranja JSON-a zahtijeva hvatanje iznimki, validaciju ulaznog formata i pružanje rezervne logike. Čimbenici koji utječu na strategiju uključuju strogost API ugovora, očekivanja klijenata i zahtjeve za otpornost sustava.

Pristupi:

  • Try-catch blokovi oko operacija parsiranja
  • Validacija unosa prije parsiranja
  • Validacija temeljena na shemi
  • Vraćanje korisnički prilagođenih poruka o pogrešci
  • Problemi sa zapisivanjem za otklanjanje pogrešaka

Primjer:

U Node.js-u:

try {
  const data = JSON.parse(body);
} catch (err) {
  console.error("Malformed JSON");
}

24) Koja je svrha parametara replacer i space u JSON.stringify()?

Funkcija zamjene omogućuje selektivnu serijalizaciju svojstava objekta, dok parametar razmaka kontrolira uvlačenje radi poboljšanja čitljivosti. Ove opcije poboljšavaju ispis za otklanjanje pogrešaka, osiguravaju osjetljive podatke i stvaraju prilagođeno formatiranje za zapisnike ili dokumentaciju.

Primjer:

JSON.stringify(obj, ["id", "name"], 2);

Prednosti:

  • Precizna kontrola nad izlazom
  • Izostavljanje povjerljivih ili nepotrebnih polja
  • Povećana čitljivost u razvojnim okruženjima

25) Kako API-ji obično konzumiraju i proizvode JSON i koje najbolje prakse osiguravaju dosljednost?

API-ji konzumiraju i proizvode JSON pridržavajući se standardiziranih tipova sadržaja (application/json), definicije shema, pravila verzija i ugovori za rukovanje greškama. Konzistentnost osigurava glatku integraciju među klijentima i mikroservisima.

Najbolje prakse

  • Uključivati Content-Type: application/json
  • Koristite predvidljive nazive polja (snake_case ili camelCase)
  • Validacija zahtjeva pomoću JSON sheme
  • Navedite strukturirane objekte pogrešaka
  • Održavanje verzioniranih krajnjih točaka

Primjer: API za plaćanje verzije kao /v2/transactions može ispisivati ​​standardizirane JSON objekte za naplate, povrate novca i pogreške.


26) Što je JSON streaming i gdje se obično implementira?

JSON streaming isporučuje podatke postupno umjesto u jednom velikom korisnom teretu, poboljšavajući performanse za velike skupove podataka. Obično se implementira u sustavima stvarnog vremena, procesorima zapisnika, analitičkim mehanizmima i podatkovnim kanalima.

Pogodnosti

  • Smanjeni memorijski trag
  • Brže vrijeme do prvog bajta
  • Sposobnost rukovanja ogromnim skupovima podataka

Primjer: Streaming logova s ​​poslužitelja na analitičku nadzornu ploču izbjegava istovremeno učitavanje gigabajta podataka.


27) Kako JSON obrađuje posebne znakove i koja pravila upravljaju izbjegavanjem?

JSON koristi escape sekvence izvedene iz JavaSkripta za osiguranje sigurnog prijenosa i parsiranja. Posebni znakovi poput navodnika, obrnutih kosih crta i kontrolnih kodova moraju biti ispravno kodirani.

Uobičajene escape sekvence

Lik Izbjegnuti obrazac
Nagrade \"
Obrnuta kosa crta \\
Nova linija \n
Tabulator \t
unicode \uXXXX

Primjer:

{ "message": "Hello\nWorld" }

Nepravilno izbjegavanje rezultira kvarovima parsera i oštećenim API korisnim sadržajima.


28) Koji su različiti načini za osiguranje unatrag kompatibilnosti u JSON API-jima?

Povratna kompatibilnost je ključna u poslovnim sustavima gdje više verzija klijenata istovremeno komunicira. JSON API-ji to obično postižu strategijama verzija, opcionalnim poljima, pažljivim ukidanjem i metodama evolucije sheme.

Tehnike kompatibilnosti

  • Dodavanje polja umjesto preimenovanja ili brisanja
  • Korištenje zadanih vrijednosti za nedostajuća polja
  • Verzirane krajnje točke (/v1/, /v2/)
  • Ugodni ciklusi zastare
  • Održavanje strogih JSON shema za validaciju

Primjer: Nova middleName Polje se može dodati bez utjecaja na starije klijente sve dok je opcionalno.


29) Kako osiguravate JSON podatke tijekom transporta i u stanju mirovanja?

Sigurnost uključuje šifriranje, autentifikaciju, autorizaciju i obrasce kontroliranog pristupa. Sam JSON nema ugrađenu sigurnost, pa se sustavi oslanjaju na protokole i infrastrukturu za zaštitu podataka.

Mjere sigurnosti

  • HTTPS/TLS za šifriranje prijenosa
  • JWT za autentifikaciju
  • OAuth2 za autorizaciju
  • Šifriranje u mirovanju (KMS, Vault)
  • Validacija i sanitacija ulaza
  • Izbjegavanje osjetljivih podataka u zapisnicima

Primjer: API-ji moraju odbaciti neprovjerene JSON podatke kako bi spriječili napade u stilu injektiranja u nizvodnim sustavima.


30) Koji su nedostaci korištenja JSON-a za konfiguracijske datoteke?

JSON konfiguracijske datoteke imaju ograničenja zbog nedostatka komentara, stroge sintakse i nemogućnosti elegantnog predstavljanja složenih tipova ili višelinijskih nizova. Zbog tih ograničenja mnoge platforme preferiraju YAML ili TOML za konfiguracije s dugim životnim ciklusima.

Nedostaci

  • Nema podrške za komentare
  • Detaljno izbjegavanje za nizove znakova
  • Pogreške uzrokovane nedostajućim zarezima
  • Ograničene opcije tipova
  • Teže je upravljati u velikim DevOps sustavima

Primjer: Kubernetes je napustio JSON za svakodnevnu konfiguraciju jer je YAML operaterima jednostavno lakše ručno uređivati.


31) Što je JSON Merge Patch i po čemu se razlikuje od JSON Patcha?

JSON Merge Patch (RFC 7396) pruža pojednostavljenu metodu za izvođenje djelomičnih ažuriranja JSON dokumenata primjenom objekta zakrpe preko originala. JSON Patch (RFC 6902), s druge strane, koristi popis operacija (add, remove, replaceitd.) za granularne modifikacije temeljene na operacijama. Merge Patch je praktičan za jednostavna ažuriranja, dok JSON Patch nudi preciznu kontrolu za strukturirane transformacije.

Razlika između JSON Merge Patcha i JSON Patcha

svojstvo JSON zakrpa spajanja JSON zakrpa
Format Jednostavan objekt Niz operacija
brisanje Postavi polje na null Koristite eksplicitno remove op
Složenost Jednostavan za čitanje Detaljnije i preciznije
Najbolje za Plitka ažuriranja Složene izmjene dokumenata

Primjer:

Spoji zakrpu:

{ "name": "John" }

Zakrpa:

[{ "op": "replace", "path": "/name", "value": "John" }]

32) Koji su različiti načini prikaza datuma i vremena u JSON-u i koji čimbenici utječu na taj izbor?

JSON ne definira izvorni tip datuma, pa programeri moraju kodirati datume kao nizove znakova, brojeve ili prilagođene formate. Ispravan pristup ovisi o rukovanju vremenskim zonama, čitljivosti, interoperabilnosti i očekivanjima sustava koji ih koristi.

Uobičajeni prikazi

  • ISO 8601 nizovi ("2024-03-15T10:00:00Z")
  • Unix vremenske oznake (1710496800)
  • Prilagođeni formati (ne preporučuje se)

Čimbenici koji utječu na izbor:

  • Mogućnosti parsiranja klijentske platforme
  • Dosljednost među uslugama
  • Potrebe za lokalizacijom i vremenskom zonom
  • Zahtjevi sheme i ugovora

Primjer: API-ji obično koriste ISO 8601 jer izbjegava dvosmislenost vremenskih zona.


33) Kako transformirati JSON pomoću alata poput JQ-a i zašto se široko koristi?

jq je procesor naredbenog retka za JSON koji omogućuje filtriranje, transformaciju, upite i restrukturiranje JSON struktura. Široko se koristi u DevOpsu, podatkovnim cjevovodima, CI/CD tijekovima rada i obradi logova zbog svoje ekspresivne sintakse upita i performansi.

Primjer:

jq '.users[].name' data.json

Zašto je popularan:

  • Brz i lagan
  • Idealno za automatizaciju
  • Podržava složene transformacije
  • Izvrsno za obradu streama

Često se koristi s Kubernetes, AWS CLI i Linux pipelinesima.


34) Koja je uloga MIME tipova u komunikaciji temeljenoj na JSON-u?

MIME tipovi (tipovi medija) određuju format podataka koji se prenose. JSON koristi standardne tipove kako bi informirao klijente i poslužitelje o tome kako interpretirati sadržaj tijela, poboljšavajući interoperabilnost i validaciju.

Uobičajeni JSON MIME tipovi

  • application/json
  • application/merge-patch+json
  • application/geo+json
  • application/vnd.api+json (JSON:API specifikacija)

Primjer:

HTTP zaglavlje:

Content-Type: application/json

Ispravna upotreba MIME tipa osigurava da klijenti ispravno parsiraju podatke i sprječava pogrešno tumačenje korisnih podataka.


35) Što su JSON linije (JSONL) i gdje su korisne?

JSON linije (ili NDJSON) su format u kojem svaka linija u datoteci sadrži JSON objekt. To omogućuje strujanje, inkrementalno čitanje i učinkovitu obradu velikih količina podataka.

Idealno za:

  • Agregacija zapisnika
  • Obrada velikih podataka
  • Cjevovodi strojnog učenja
  • Analiza u stvarnom vremenu
  • ETL tijekovi rada

Primjer:

{"id":1,"event":"login"}
{"id":2,"event":"view"}

Njegova linija po linija priroda poboljšava učinkovitost memorije i omogućuje paralelnu potrošnju.


36) Koje su karakteristike dobro dizajniranih JSON API odgovora?

Dobro osmišljen JSON odgovor je predvidljiv, konzistentan, validiran i samorazumljiv. Trebao bi uključivati ​​odgovarajuće metapodatke, jasno imenovana polja i standardizirane strukture pogrešaka.

Karakteristike

  • Dosljedne konvencije imenovanja
  • Jasna reprezentacija resursa
  • Uključivanje metapodataka kada je to relevantno
  • Strukturirani modeli odgovora na pogreške
  • Stroga provedba sheme
  • Izbjegavanje dubokog gniježđenja

Primjer: Dobar objekt pogreške uključuje code, message, detailsi opcionalne identifikatore tragova.


37) Kako se JSON integrira s NoSQL bazama podataka i koje prednosti pruža?

JSON se besprijekorno integrira s NoSQL bazama podataka temeljenim na dokumentima kao što su MongoDB, CouchDBi DynamoDBOvi sustavi izvorno pohranjuju dokumente slične JSON-u, omogućujući fleksibilne sheme i brzu iteraciju.

Pogodnosti

  • Fleksibilnost sheme
  • Prirodni prikaz hijerarhijskih podataka
  • Jednostavno indeksiranje ugniježđenih polja
  • Brzi razvojni ciklusi
  • Jezici upita temeljeni na JSON-u

Primjer: MongoDB koristi BSON, binarni nadskup JSON-a, što omogućuje učinkovitu pohranu i polja s tipiziranim podacima.


38) Koja je razlika između JSON-a i BSON-a?

BSON (Binarni JSON) je binarni prikaz koji proširuje JSON dodavanjem dodatnih tipova podataka i omogućavanjem bržeg prolaza. JSON je tekstualno utemeljen i optimiziran za prenosivost, dok je BSON optimiziran za učinkovitost i bogatije strukture.

Ključne razlike

svojstvo JSON BSON
Format Tekst Binarni
Podržane vrste ograničen Bogato (Datum, int32, int64, binarno)
Brzina Sporije za parsiranje Brzi prolaz
Veličina Manji za jednostavne dokumente Veće zbog metapodataka
Koristite slučaj API-ji, konfiguracije MongoDB skladištenje

Primjer: BSON omogućuje učinkovito pretraživanje indeksa na tipiziranim cijelim brojevima, nešto što JSON ne može izvorno učiniti.


39) Kako pretvoriti JSON u druge formate kao što su CSV, XML ili YAML i zašto bi to moglo biti potrebno?

Konverzija je neophodna prilikom integracije heterogenih sustava, migracije podataka ili izvođenja analitike. Alati kao što su Python Skripte, jq, Node.js uslužni programi i online pretvarači omogućuju strukturiranu transformaciju temeljenu na shemama.

Razlozi za pretvorbu

  • BI alati zahtijevaju CSV
  • Stariji sustavi zahtijevaju XML
  • DevOps cjevovodi preferiraju YAML
  • Sustavi strojnog učenja trebaju tablične podatke

Primjer: Pretvaranje JSON zapisnika u CSV omogućuje jednostavan uvoz u analitičke platforme poput BigQueryja ili Pandasa.


40) Koji su različiti načini predstavljanja nabrajanja u JSON-u i koje su njihove prednosti i nedostaci?

Nabrajanja u JSON-u mogu se predstaviti pomoću nizova znakova, brojeva ili objekata ovisno o jasnoći i ograničenjima sheme. Optimalni izbor uravnotežuje čitljivost, validaciju i iskustvo programera.

Usporedba reprezentacije nabrajanja

Prikaz Prednosti Nedostaci
Strings Readable i samorazumljivo Sklon tipografskim greškama
Numbers Kompaktan, učinkovit Teško je protumačiti
objekti Proširivo s metapodacima verbalan

Primjer:

{ "status": "APPROVED" }

Nabrajanja stringova su poželjnija u većini API-ja jer su ekspresivna i jednostavna za validaciju.


41) Kako dizajnirate strategije verzijanja za API-je temeljene na JSON-u i koji čimbenici utječu na životni ciklus verzijanja?

Verzioniranje osigurava da API-ji koji se razvijaju ne oštećuju postojeće klijente. Dobra strategija uzima u obzir unatrag kompatibilnost, upravljanje životnim ciklusom, komunikacijske protokole i dugoročno upravljanje. API-ji temeljeni na JSON-u obično koriste semantičko verzioniranje za uvođenje promjena na predvidljiv način.

Pristupi verzijama

  • Verziranje URI-ja (/v1/users)
  • Verzioniranje temeljeno na zaglavlju (Accept: application/vnd.company.v2+json)
  • Verzioniranje temeljeno na parametrima (?version=3)
  • Pregovaranje o sadržaju korištenjem MIME tipova

Čimbenici utjecaja:

  • Stopa promjena loma
  • Raznolikost potrošača
  • Pravila o zastarivanju
  • Upravljanje i upravljanje životnim ciklusom API-ja

Primjer: Enterprise API-ji često održavaju dvije paralelne glavne verzije kako bi podržali naslijeđene mobilne aplikacije.


42) Koji su različiti načini kompresije JSON-a i kako se uspoređuju u performansama?

Kompresija smanjuje veličinu korisnog tereta, ubrzava prijenos podataka i smanjuje troškove mreže. Izbor ovisi o zahtjevima latencije, dostupnosti CPU-a i kompatibilnosti klijenta.

Usporedba metoda kompresije

način Prednosti Nedostaci
GZIP Široko podržano, dobra kompresija Umjereni troškovi CPU-a
Brotli Izvrstan omjer kompresije Sporije za više razine
Ispuhati Brz i lagan Niža kompresija
ZSTD Vrlo brzo, učinkovito Nije široko podržano u starijim klijentima

Primjer: Web poslužitelji obično koriste Brotli za statičke JSON datoteke, povećavajući učinkovitost kompresije do 20 posto u odnosu na GZIP.


43) Kako se otkrivaju i izbjegavaju kružne reference prilikom serijalizacije JSON-a?

Kružne reference nastaju kada se objekti referenciraju jedni na druge ili na sebe same, uzrokujući beskonačnu rekurziju tijekom serijalizacije. Njihovo izbjegavanje zahtijeva pažljiv dizajn ili mehanizme kontrole serijalizacije.

Tehnike prevencije

  • Redizajn odnosa objekata
  • Koristi prilagođenu logiku serijalizacije (replacer in JSON.stringify())
  • Pretvori reference u ID-ove
  • Iskoristite biblioteke koje detektiraju kružne strukture (npr. flatted, circular-json)

Primjer:

const seen = new WeakSet();
JSON.stringify(obj, (key, value) => {
  if (typeof value === "object" && value !== null) {
    if (seen.has(value)) return;
    seen.add(value);
  }
  return value;
});

44) Što je HAL (Hypertext Application Language) i kako poboljšava JSON API-je?

HAL je lagani hipermedijski format koji obogaćuje JSON API-je ugrađivanjem poveznica izravno u odgovore. To omogućuje otkrivanje, omogućujući klijentima navigaciju API-jem bez oslanjanja isključivo na dokumentaciju.

Karakteristike

  • Koristi _links i _embedded predmeti
  • Potiče dizajn vođen hipermedijom
  • Radi s REST-om i HATEOAS-om
  • Poboljšava samootkrivanje API-ja

Primjer:

{
  "_links": {
    "self": { "href": "/users/5" },
    "orders": { "href": "/users/5/orders" }
  }
}

45) Kako implementirati paginaciju u API-jima temeljenim na JSON-u i koje su različite vrste paginacije?

Paginacija kontrolira količinu podataka vraćenih klijentima, poboljšavajući performanse i upotrebljivost. JSON API-ji obično uključuju metapodatke koji opisuju brojeve stranica, ograničenja i sljedeće/prethodne poveznice.

Vrste paginacije

Tip Karakteristike Idealan scenarij
Na temelju offseta Koristi limit i offset Baze podataka sa stabilnim poretkom
Na temelju kursora Koristi kodirane ID-ove kursora Dinamički podaci visoke skale
Na temelju stranice Koristi jednostavne brojeve stranica Jednostavne aplikacije
Paginacija skupa ključeva Koristi indeksirane ključeve Veliki skupovi podataka, potrebe za niskom latencijom

Primjer:

{
  "data": [...],
  "paging": { "next": "/items?cursor=xyz", "limit": 20 }
}

46) Kako testirate JSON API-je pomoću alata poput Postman, Newman ili cURL?

Testiranje JSON API-ja zahtijeva validaciju formata odgovora, statusnih kodova, shema korisnog tereta i dinamičkog ponašanja. Alati nude mogućnosti automatizacije, tvrdnji i skriptiranja.

Pristupi testiranju

  • Korištenje Postman kolekcije za API pozive
  • Automatizirana izvršavanja putem Newman CI cjevovoda
  • cURL za lagano testiranje naredbenog retka
  • Testovi validacije sheme
  • Lažne servere za testiranje ugovora

Primjer:

-X GET https://api.example.com/users -H "Accept: application/json"

47) Koje su najbolje prakse za imenovanje ključeva u JSON objektima?

Imenovanje ključeva utječe na čitljivost, dosljednost i jednostavnost korištenja za korisnike. Loše imenovanje može dovesti do problema s parsiranjem, zbrke s ugovorima i problema s unatrag kompatibilnim sustavima.

Najbolje prakse

  • Dosljedno koristite camelCase ili snake_case
  • Koristite opisna, ali sažeta imena
  • Izbjegavajte kratice osim ako nisu općepoznate
  • Izbjegavajte razmake ili posebne znakove
  • Ne započinjite tipke brojevima

Primjer:

Dobro: "createdAt"

Loše: "crt_dt" or "1timestamp"


48) Koja je uloga metapodataka u JSON odgovorima i koje se vrste metapodataka obično uključuju?

Metapodaci obogaćuju JSON odgovor pomoćnim informacijama koje pomažu klijentima u obradi i interpretaciji sadržaja. Poboljšavaju upotrebljivost, vidljivost i jasnoću.

Uobičajene vrste metapodataka

  • Detalji o paginaciji
  • Identifikatori zahtjeva
  • Vremenske oznake
  • Podaci o verziji
  • Hipermedijske poveznice
  • Mjerne vrijednosti izvedbe

Primjer:

{
  "data": {...},
  "meta": { "requestId": "abc-123", "timestamp": "2025-11-14T10:00:00Z" }
}

49) Kako dizajnirate objekte pogrešaka u JSON API-jima kako biste osigurali jasnoću i mogućnost ispravljanja pogrešaka?

Dobro dizajniran objekt pogreške pruža strojno čitljiva polja i opise čitljive ljudima. Trebao bi biti strukturiran, konzistentan i informativan.

Karakteristike dobrih modela pogrešaka

  • Uključi standardizirana polja (code, message, details)
  • Navedite opise koji omogućuju djelovanje
  • Uključite ID-ove korelacije za praćenje
  • Pratite predvidljivu strukturu u cijelom API-ju

Primjer:

{
  "error": {
    "code": "INVALID_INPUT",
    "message": "Email format is not valid",
    "traceId": "xyz-99"
  }
}

50) Koji su različiti načini dinamičkog generiranja JSON-a na poslužitelju i što određuje optimalni izbor?

Poslužitelji generiraju JSON ručnom konstrukcijom objekata, serijalizatorima, predlošcima ili ORM integracijama. Optimalna metoda ovisi o potrebama za performansama, održivosti koda i mogućnostima okvira.

Tehnike

  • Ručna izgradnja objekata
  • Biblioteke serijalizatora (Jackson, Gson, Newtonsoft)
  • Mapiranje ORM-a u JSON (Hibernate, Sequelize)
  • Predlošci (brkovi, volani)
  • Generatori JSON-a za strujanje

Čimbenici koji utječu na izbor:

  • Uvjeti izvedbe
  • Potrebe za sigurnošću tipova
  • Složenost podatkovnih modela
  • Kontrola nad formatiranjem izlaza

Primjer: Visokoučinkoviti sustavi često koriste strujnu serijalizaciju kako bi izbjegli veliku potrošnju memorije.

🔍 Najčešća pitanja za JSON intervju sa stvarnim scenarijima i strateškim odgovorima

U nastavku slijedi deset ciljanih pitanja za intervju koja pokrivaju znanje, ponašanje i situacijske aspekte vezane uz JSON, zajedno s primjerima jakih odgovora.

1) Što je JSON i zašto se široko koristi u modernim aplikacijama?

Očekivano od kandidata: Razumijevanje osnova JSON-a i zašto se timovi oslanjaju na njega.

Primjer odgovora: JSON je lagani, tekstualni format za razmjenu podataka koji je ljudima jednostavan za čitanje i pisanje, a strojevima za parsiranje. Široko se koristi jer se glatko integrira s web tehnologijama, podržava strukturirane podatke i omogućuje učinkovitu komunikaciju između poslužitelja i klijenata.


2) Kako biste objasnili razliku između JSON-a i XML-a netehničkoj zainteresiranoj strani?

Očekivano od kandidata: Sposobnost jasnog prenošenja tehničkih koncepata.

Primjer odgovora: JSON predstavlja podatke pomoću jednostavnih parova ključ-vrijednost i nizova, dok XML koristi ugniježđene oznake. JSON je obično manje opširan, lakši za parsiranje i bolje usklađen s modernim API-jima. Osobi koja nije tehničar, JSON bih opisao kao lakši, čišći oblik strukturiranih informacija koje aplikacije mogu brže razmjenjivati.


3) Opišite situaciju u kojoj ste radili s loše strukturiranom JSON datotekom. Kako ste to riješili?

Očekivano od kandidata: Rješavanje problema i otpornost.

Primjer odgovora: Na prethodnom poslu radio sam s uslugom treće strane koja je isporučivala nekonzistentni JSON. Problem sam riješio izgradnjom sloja za validaciju s provjerama sheme, implementirao jasno rukovanje pogreškama i dokumentirao potrebne formate za pružatelja usluga. Rezultat je bio stabilan integracijski cjevovod s manje kvarova.


4) Kako validirate JSON prije upotrebe u aplikaciji?

Očekivano od kandidata: Razumijevanje najboljih praksi i sigurnosnih mjera.

Primjer odgovora: Obično validiram JSON pomoću validatora sheme kao što je JSON Schema. Također provodim strukturne provjere, validaciju tipa i rješavanje problema s nedostajućim poljima. To osigurava da aplikacija obrađuje samo pouzdane i predvidljive podatke.


5) Ako API vrati oštećeni JSON tijekom incidenta u produkciji, koji je vaš prvi korak?

Očekivano od kandidata: Jasno donošenje odluka pod pritiskom.

Primjer odgovora: Moj prvi korak je izolirati problem potvrdom potječe li neispravan JSON iz vanjskog API-ja ili iz interne obrade. Nakon što se identificira, implementiram privremenu zaštitnu mjeru kao što je odbacivanje nepotpunih sadržaja i upozoravanje odgovorne strane. Ovaj pristup štiti nizvodne sustave, a istovremeno omogućuje nastavak istrage.


6) Recite mi nešto o projektu u kojem ste optimizirali rukovanje JSON podacima. Koja ste poboljšanja napravili?

Očekivano od kandidata: Iskustvo optimizacije u stvarnom svijetu.

Primjer odgovora: U svojoj posljednjoj ulozi smanjio sam veličinu korisnog tereta za mobilnu aplikaciju uklanjanjem redundantnih polja i prelaskom na kompaktnije strukture. To je smanjilo mrežno opterećenje i znatno poboljšalo vrijeme odziva za krajnje korisnike.


7) Koje strategije koristite pri radu s duboko ugniježđenim JSON objektima?

Očekivano od kandidata: Pristup složenosti.

Primjer odgovora: Ugniježđene objekte rastavljam na manje logičke komponente, stvaram pomoćne funkcije za siguran pristup i često izravnavam strukture podataka kada je to prikladno. To čini podatke upravljivijima, smanjuje pogreške i poboljšava čitljivost koda.


8) Koja je svrha JSON sheme i kada biste je koristili?

Očekivano od kandidata: Poznavanje povezanih standarda.

Primjer odgovora: JSON shema definira strukturu, obavezna polja, tipove i ograničenja JSON podataka. Koristim je prilikom izrade API-ja, integracije s vanjskim uslugama ili validacije korisnički generiranog unosa kako bih osigurao predvidljivo i sigurno rukovanje podacima.


9) Opišite kako biste dijagnosticirali probleme s performansama uzrokovane velikim JSON sadržajem.

Očekivano od kandidata: Strategija rješavanja problema s performansama.

Primjer odgovora: Počinjem mjerenjem veličine korisnog tereta, vremena parsiranja i korištenja memorije. Zatim identificiram nepotrebna polja, komprimiram repetitivne strukture i procjenjujem mogućnosti za paginaciju ili inkrementalno učitavanje. Ako je potrebno, uspoređujem alternativne formate serijalizacije.


10) Kako održavate točnost podataka prilikom transformacije JSON-a između sustava s različitim formatima?

Očekivano od kandidata: Točnost, preciznost i svijest o mapiranju.

Primjer odgovora: Na prethodnoj poziciji osigurao sam točnost izgradnjom robusnog sloja mapiranja s jediničnim testovima, transformacijama na razini polja i automatiziranom validacijom koja je uspoređivala izlaz s očekivanim strukturama. To je spriječilo gubitak podataka i osiguralo dosljedno formatiranje tijekom cijelog procesa integracije.

Sažmite ovu objavu uz: