Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

Dit is een door AI vertaalde post.

투잡뛰는 개발 노동자

[Niet-major, overleven als ontwikkelaar] 14. Samenvatting van veelgestelde technische interviewvragen voor beginnende ontwikkelaars

Selecteer taal

  • Nederlands
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • हिन्दी
  • Magyar

Samengevat door durumis AI

  • Deze samenvatting behandelt veelgestelde technische interviewvragen voor beginnende ontwikkelaars. Het omvat onderwerpen als geheugengebieden, gegevensstructuren, databases, programmeren, paginavervangingsalgoritmen, processen en threads, het OSI-lagenmodel (7 lagen), TCP en UDP.
  • Voor elk onderwerp wordt een korte uitleg gegeven, samen met voorbeelden om het begrip te bevorderen.
  • Deze informatie is nuttig voor beginnende ontwikkelaars die hun technische kennis willen vergroten en zich willen voorbereiden op interviews.

Niet-hoofdrichting, ontwikkelen en overleven


#14. Vaak gestelde vragen over technische interviews voor beginnende ontwikkelaars


[Gebieden van het hoofdgeheugen]

  • Codegebied: Het gebied waar de broncode van het programma wordt opgeslagen. De CPU haalt instructies (bron, functies, besturingsinstructies) op die zijn opgeslagen in het codegebied en verwerkt ze. Bijvoorbeeld, wanneer een programma dat is geschreven in C wordt uitgevoerd, wordt de broncode van dat programma opgeslagen in het codegebied.
  • Gegevensgebied: Het gebied waar globale variabelen en statische variabelen worden opgeslagen. Dit gebied wordt toegewezen bij het starten van het programma en wordt niet vernietigd totdat het programma wordt beëindigd. Bijvoorbeeld, wanneer een programma dat is geschreven in C wordt uitgevoerd, worden de globale variabelen of statische variabelen die in dat programma zijn gedefinieerd opgeslagen in het gegevensgebied.
  • Stackgebied: Het tijdelijke geheugengebied dat door het programma wordt gebruikt. Lokale variabelen en parameters die gerelateerd zijn aan het aanroepen van functies worden in dit gebied opgeslagen. Dit gebied wordt toegewezen wanneer een functie wordt aangeroepen en wordt vernietigd wanneer de functie wordt beëindigd. Bijvoorbeeld, wanneer een functie die is geschreven in C wordt aangeroepen, worden de lokale variabelen of parameters die door die functie worden gebruikt toegewezen aan het stackgebied.
  • Heapgebied: Het gebied waar gebruikers dynamisch geheugenruimte kunnen toewijzen en vrijgeven. Bijvoorbeeld, wanneer geheugen dynamisch wordt toegewezen met behulp van de malloc() functie in C, wordt het toegewezen geheugengebied opgeslagen in het heapgebied.

[Gegevensstructuren]

  • Stack: Een gegevensstructuur die werkt volgens het LIFO-principe (Last-In, First-Out). Bijvoorbeeld, de 'terug'-knop op een computer werkt vergelijkbaar met een stack. De eerder bezochte pagina's worden opgeslagen in de stack en wanneer je op de 'terug'-knop klikt, wordt de meest recente pagina die is opgeslagen verwijderd en weergegeven.
  • Queue: Een gegevensstructuur die werkt volgens het FIFO-principe (First-In, First-Out). Bijvoorbeeld, het krijgen van een wachtrijnummer in een bank is vergelijkbaar met een queue. Degene die het eerst aankomt, wordt het eerst behandeld, en degene die het laatst aankomt, wordt het laatst behandeld.
  • Tree: Een gegevensstructuur die gegevens in een hiërarchische structuur presenteert. Bijvoorbeeld, de DOM-boom in HTML is vergelijkbaar met een boom. De structuur van een HTML-pagina wordt weergegeven als een boom, beginnend bij de root-knoop, de html-tag, en vervolgens worden de onderliggende knopen in volgorde weergegeven.
  • Heap: Een van de binaire boomstructuren, verdeeld in maximale heap en minimale heap. Bijvoorbeeld, in een prioriteitswachtrij bevindt het gegeven met de hoogste prioriteit zich in de root-knoop van de heap, en de gegevens met de volgende hoogste prioriteit bevinden zich in de onderliggende knopen, wat een voorbeeld is van een maximale heap.

[RDBMS en NoSQL]

  • RDBMS: Een database die gegevens structureel definieert en beheert met behulp van een strikte schema. Gegevens kunnen worden gedistribueerd en zijn gemakkelijk te wijzigen. Bijvoorbeeld, MySQL, Oracle en MS-SQL zijn voorbeelden van RDBMS.
  • NoSQL: Een database die gegevens opslaat en beheert met behulp van een flexibel schema. Geschikt voor het verwerken en opslaan van grote hoeveelheden gegevens en biedt ook hoge schaalbaarheid. Bijvoorbeeld, MongoDB, Cassandra en HBase zijn voorbeelden van NoSQL.

[Procedureel en objectgeoriënteerd]

  • Procedurele programmering: Een programmeertechniek waarbij sequentiële verwerking belangrijk is. C en Pascal zijn voorbeelden van procedurele talen.
  • Objectgeoriënteerde programmering: Een methode voor het verwerken van gegevens en procedures op een logische manier door middel van het concept van objecten (objecten). Java, C++ en Python zijn voorbeelden van objectgeoriënteerde talen. Bijvoorbeeld, in een autosimulatieprogramma wordt een auto weergegeven als een object, waarbij de eigenschappen van de auto (kleur, versnelling, enz.) worden weergegeven als gegevens en de functies die de auto uitvoert (rijden, stoppen, enz.) worden weergegeven als methoden.

[Overriding en Overloading]

  • Overriding: Het opnieuw definiëren van een methode die wordt gebruikt door een superklasse in een subklasse. Wanneer een methode van de superklasse wordt aangeroepen in de subklasse, wordt de methode die opnieuw is gedefinieerd in de subklasse uitgevoerd in plaats van de methode van de superklasse. Bijvoorbeeld, de toString()-methode in Java is een voorbeeld van Overriding.
  • Overloading: Het definiëren van meerdere methoden met dezelfde naam, maar met verschillende typen en aantallen parameters om te reageren op verschillende soorten aanroepen. Meerdere methoden met verschillende parameters, maar met dezelfde naam, worden uitgevoerd. Bijvoorbeeld, de print()-methode in Java is een voorbeeld van Overloading.

[Paginavervangingsalgoritme]

  • FIFO: De pagina die het langst in het fysieke geheugen is geladen, wordt vervangen. De 'sluiten'-functie in de taakbalk van een computer is vergelijkbaar met het FIFO-algoritme. Het programma dat het eerst is uitgevoerd, wordt het laatst weergegeven en gesloten.
  • LRU: De pagina die het langst niet is gebruikt, wordt vervangen. De 'app-sluitingstool' die de oudste apps sluit die niet vaak worden gebruikt, is vergelijkbaar met het LRU-algoritme.
  • LFU: De pagina met het minste aantal verwijzingen wordt vervangen. Bijvoorbeeld, de 'tab-sluiting'-functie in een browser die de tabs sluit die het minst worden gebruikt van de nieuw geopende tabs is vergelijkbaar met het LFU-algoritme.
  • MFU: De pagina met het meeste aantal verwijzingen wordt vervangen. Het MFU-algoritme wordt niet vaak gebruikt.

[Proces en thread]

  • Proces: Een uitvoeringseenheid die door het besturingssysteem wordt toegewezen en een programma voorstelt. Wanneer meerdere processen tegelijkertijd worden uitgevoerd, krijgt elk proces een onafhankelijk geheugengebied en een CPU toegewezen.
  • Thread: Een uitvoeringseenheid die binnen een proces werkt en de middelen die aan het proces zijn toegewezen deelt tijdens de uitvoering. Bijvoorbeeld, elke tab in een webbrowser werkt als een thread, geen proces.

[OSI 7Layer]

  • Toepassingslaag: De laag die de gebruiker verbindt met het netwerk. Bevat protocollen zoals HTTP, FTP, SMTP en anderen.
  • Presentatielaag: De laag die de manier definieert waarop gegevens worden gepresenteerd. Bevat protocollen zoals JPEG, MPEG, SSL en anderen.
  • Sessielaag: De laag die de sessie tussen twee communicerende systemen beheert.
  • Transportlaag: De laag die verantwoordelijk is voor het verzenden van gegevens. Bevat protocollen zoals TCP, UDP en anderen.
  • Netwerklaag: De laag die verantwoordelijk is voor het instellen van een route voor het verzenden van gegevens. Bevat protocollen zoals IP, ICMP en anderen.
  • Datakoppellaag: De laag die gegevens verzendt via fysieke adressen (MAC-adressen). Bevat protocollen zoals Ethernet, Token Ring en anderen.
  • Fysieke laag: De laag die verantwoordelijk is voor communicatie via fysieke verbindingen en transmissiemedia.

[TCP en UDP]

  • TCP: Een connectiegerichte service die gegevens op een betrouwbare manier verzendt. Het stelt verbindingen in of verbreekt verbindingen met behulp van 3-way handshaking en 4-way handshaking. Bijvoorbeeld, wanneer je inlogt op een website of bestanden overdraagt, wordt TCP gebruikt.
  • UDP: Een connectieloze service die geen signaalprocedure nodig heeft om gegevens te verzenden. De betrouwbaarheid van gegevens is laag, maar de verwerkingssnelheid is hoog. Bijvoorbeeld, bij het streamen van video's of online games is snel transport belangrijk, dus wordt UDP gebruikt.
TheCareer
투잡뛰는 개발 노동자
코딩, 취업, 이직, 경제에 관심 많은 IT 노동자
TheCareer
[Niet-technisch, overleven als ontwikkelaar] 13. Technische sollicitatiegesprekken voor beginnende ontwikkelaars We bespreken 7 veelvoorkomende vragen in technische sollicitatiegesprekken voor beginnende ontwikkelaars, samen met tips voor het voorbereiden op het gesprek. We bekijken vragen en antwoordstrategieën over verschillende gebieden, zoals OOP, databases, net

1 april 2024

[SI-ontwikkelaarverhaal] 12. Technologieën die vaak worden gebruikt in SI-projecten De technologieën die vaak worden gebruikt in SI-ontwikkeling bij Zuid-Koreaanse MKB's zijn Java-gebaseerde Spring, Oracle DB, Mybatis, JSP, JavaScript, HTML, CSS, met Eclipse als IDE.

19 april 2024

[python] Python basis 1 Python-modules leren kennen Python-modules zijn bestanden die variabelen, functies, klassen, etc. bundelen. Ze zijn handig om modules te gebruiken die door anderen zijn gemaakt, of om variabelen, functies, etc. die vaak worden gebruikt te bundelen. Met het `import`-keyword kan je mo

27 maart 2024

[Concurrency] Atomaire bewerking: Memory Fence en Memory Ordering Deze blogpost bespreekt hoe geheugensorde te overwegen in atomaire bewerkingen en het belang van de Ordering-opties. We bespreken verschillende Ordering-opties zoals Relaxed, Acquire, Release, AcqRel, SecCst, inclusief een beschrijving van de voor- en nad
곽경직
곽경직
곽경직
곽경직
곽경직

12 april 2024

[Javascript] Object-structuur (V8) Het JavaScript Object wordt in de V8-engine geoptimaliseerd als een structuur afhankelijk van de toestand en werkt als een Fast-modus en een Dictionary-modus die als een hashmap werkt. De Fast-modus is snel met keys en waarden in een bijna vaste vorm, maa
곽경직
곽경직
곽경직
곽경직
곽경직

18 maart 2024

[DB] Criteria voor het instellen van de cache Dit is een praktische handleiding over het cachen van gegevens die vaak worden gelezen maar zelden worden geschreven. We laten u zien hoe u APM-tools zoals DataDog kunt gebruiken om RDB-query-oproepen te analyseren en tabellen te identificeren die veel qu
제이온
제이온
제이온
제이온
제이온

25 april 2024

Laten we de weersomstandigheden van vandaag onderzoeken. Laten we de weersomstandigheden van vandaag onderzoeken. Het weer vandaag is erg helder.
제이온
제이온
제이온
제이온

27 april 2024

[Java] Gesynchroniseerde verzameling versus gelijktijdige verzameling Gesynchroniseerde verzamelingen in Java (Vector, Hashtable, Collections.synchronizedXXX) zorgen voor gelijktijdigheid in een multi-threaded omgeving, maar kunnen leiden tot prestatieverlies en problemen wanneer meerdere bewerkingen worden gecombineerd. Al
제이온
제이온
제이온
제이온

25 april 2024

[Objecten] Hoofdstuk 1. Objecten, ontwerp In softwareontwikkeling is praktijk belangrijker dan theorie, en goed ontwerp maakt code gemakkelijker te begrijpen en flexibeler om te veranderen. Object- georiënteerd ontwerp biedt een manier om de afhankelijkheden tussen samenwerkende objecten goed te
제이온
제이온
제이온
제이온

28 april 2024