100+ Codering Interview Vragen voor Programmeurs

Oplos deze veelgestelde codering problemen om het goed te doen op uw volgende programmering job interviews.

20 sep, 2019 – 13 min read

image_credit- Coderust 3.0: Snellere Coding Interview Voorbereiding met Interactieve Uitdagingen & Visualisaties

Coding Interviews zijn zo’n belangrijk iets in het leven van een programmeur dat hij er gewoon niet onderuit kan. Het is de eerste horde die ze moeten nemen om de baan als softwareontwikkelaar te krijgen die ze willen tijdens hun school- en studententijd.

Om het nog erger te maken, vind je zoveel mensen op het internet die je vertellen dat het coderingsinterview niet deugt, het wervingsproces voor programmeurs zuigt enzovoort, maar je hoeft geen aandacht aan hen te besteden, althans niet aan het begin van je carrière.

Ze hebben misschien gelijk, maar ze zitten in de trein waar jij in probeert te stappen. Hoeveel kritiek ze ook hebben op de coderingsgesprekken en het wervingsproces van programmeurs, velen van hen hebben dezelfde weg afgelegd tot waar zij nu zijn.

We weten allemaal dat het systeem van coderingsgesprekken niet perfect is en velen proberen het te veranderen, maar totdat het is veranderd, moet je de regels volgen om in het systeem te komen. Dit is iets voor ervaren ontwikkelaars om mee om te gaan, als een junior ontwikkelaar uw prioriteit moet zijn om duidelijk de codering interview en krijg de baan die je wilt.

Als auteur van een Java-blog en een Medium-publicatie, krijg ik veel vragen met betrekking tot codering problemen en hoe om te gaan met hen en dat is de reden waarom ik blijf schrijven artikelen zoals deze die veel programmeurs hebben geholpen direct en in-direct in hun carrière.

In dit artikel, ik ga delen met u top 100 codering interview problemen uit de programmering sollicitatiegesprekken die elke programmeur moet know.

Nu dat, ik heb de verwarring weggenomen dat codering Interview is belangrijk en je moet niet afleiden, laten we aan de slag in het echte werk. De grote vraag is wat voor te bereiden op codering interviews?

Wel, het belangrijkste ding om voor te bereiden is Data Structure-gebaseerde codering problemen zoals array-gebaseerde codering problemen, string problemen, gekoppelde lijst problemen, binaire boom problemen, enz.

Naast op gegevensstructuur gebaseerde vragen worden in de meeste sollicitatiegesprekken voor programmeurs ook algoritme-, ontwerp-, bitmanipulatie- en algemene, op logica gebaseerde vragen gesteld, die ik in dit gedeelte zal beschrijven.

Het is belangrijk dat je deze concepten oefent, omdat ze soms moeilijk op te lossen zijn tijdens het eigenlijke sollicitatiegesprek. Als je ze eerder hebt geoefend, ben je er niet alleen vertrouwd mee, maar heb je ook meer vertrouwen in het uitleggen van de oplossing aan de interviewer.

Eén van de grootste problemen met codeerproblemen is dat er honderden en duizenden codeerproblemen zijn op interviews, er zijn zelfs sites zoals LeetCode, HackerRank, Codewars, Topcoder, freeCodeCamp, HackerEarth die programmeurs trainen voor codeerinterviews met veel moeilijke vragen, wat een beginner die op zoek is naar een baan, soms gewoon overweldigt.

Ik geloof in eenvoud en de 10% inspanning die 90% van de resultaten oplevert en daarom heb ik een top 100 van codeerproblemen verzameld die niet al te moeilijk zijn en die ook vaak in echte interviews worden gesteld.

>

Het oplossen van deze problemen geeft je niet alleen zelfvertrouwen, maar helpt je ook om een aantal van de meest voorkomende algoritmische patronen te herkennen die je ook zullen helpen om een aantal ongeziene problemen op te lossen tijdens echte interviews.

Bronnen voor codeerinterviews

De keuze van goede bronnen is erg belangrijk voor succes tijdens je codeerinterviews. Als u kiest voor een verkeerde bron dan meer dan geld, verliest u kostbare tijd die u nodig hebt voor de voorbereiding, dus wat tijd besteden aan het onderzoek voor een goede bron.

Als u aanbevelingen nodig hebt, zijn de volgende enkele van mijn de beproefde en geteste middelen om te leren Data Structuren en Algoritmen in de diepte voor codering interviews:

  • Data Structuren en Algoritmen: Deep Dive Using Java voor Java-ontwikkelaars. Leer over arrays, gekoppelde lijsten, bomen, hashtabellen, stapels, wachtrijen, hopen, sorteeralgoritmen en zoekalgoritmen
  • Algoritmen en datastructuren in Python voor wie van Python houdt
    Een gids voor het implementeren van de meest actuele algoritmen vanaf nul: arrays, gekoppelde lijsten, grafiekalgoritmen en sorteren
  • Masterclass JavaScript-algoritmen en datastructuren door Colt_Steele voor JavaScript-programmeurs. Het ontbrekende computerwetenschap- en coderingsinterview-bootcamp. Leer alles wat je nodig hebt om door moeilijke coderingsinterviews te komen.
  • Mastering Data Structures & Algoritmen met behulp van C en C++ voor wie goed is in C/C++
  • Data Structures in Java: An Interview Refresher door The Educative Team om belangrijke Data Structures en algoritmes concepten in Java op te frissen. Deze cursus bevat een gedetailleerd overzicht van alle gangbare datastructuren en biedt details op implementatieniveau in Java, zodat de lezers goed toegerust zijn.
  • Grokking the Coding Interview: Patterns for Coding Questions door Fahim ul Haq en The Educative Team
    Dit is als de meta-cursus voor coderingsinterviews, die je niet leert hoe je een coderingsprobleem oplost, maar je in plaats daarvan leert hoe je een bepaald type coderingsproblemen oplost met behulp van patronen. Beheers deze 15 onderliggende patronen voor interview vragen, en je zult in staat zijn om alles wat je geconfronteerd op het interview aan te pakken

En, als je liever boeken, is er geen betere dan de Cracking The Coding Interview, door Gayle Laakmann McDowell die 189 + Programming vragen en oplossing presenteert. Een goed boek om je in korte tijd voor te bereiden op sollicitatiegesprekken over programmeren. Btw, ik zal ook wat geld te verdienen als je koopt een van deze middelen hier vermeld.

Enkele tips voor Coding Interviews

  1. Er is geen betere manier om goed te doen in Coding interviews dan het beoefenen van zo veel codering problemen mogelijk te maken. Dit zal niet alleen je geest te trainen om algoritmische patronen in problemen te herkennen, maar ook geven u de broodnodige vertrouwen om het probleem dat je nog nooit hebt gezien op te lossen.
  2. Mijn tweede tips zijn om te leren over zo veel gegevens structuur en algoritmen mogelijk te maken. Dit ligt in het verlengde van de vorige tip, maar het houdt ook in dat je moet lezen en niet alleen oefenen. Als je bijvoorbeeld de hash-tabel kent, kun je ook veel array- en teller-gebaseerde problemen gemakkelijk oplossen. Hetzelfde geldt voor boom en grafiek.
  3. Het kiezen van de juiste gegevensstructuur is een zeer belangrijk onderdeel van software-ontwikkeling en codering interview en tenzij en totdat je weet dat ze, zul je niet in staat zijn om te kiezen.
  4. Tijd jezelf – kandidaten die interview problemen op te lossen binnen de termijn en snel zijn meer kans om het goed te doen in het interview, dus je moet ook de tijd zelf.
  5. Bedenk edge cases en voer uw code door hen. Enkele goede randgevallen kunnen de lege invoer zijn, een vreemde invoer of een echt grote invoer om de randvoorwaarden en grenzen te testen.
  6. Na het oplossen van het probleem, probeer het uit te leggen aan een vriend of collega die ook geïnteresseerd is in coderingsproblemen. Dit zal je vertellen of je het probleem echt begrepen hebt of niet. Als u het gemakkelijk kunt uitleggen, betekent dit dat u het begrepen hebt. Ook de discussie maakt je geest werken en je zou kunnen komen met een alternatieve oplossing en in staat om een aantal gebreken in uw bestaande algoritmen te vinden.
  7. Een andere nuttige tip om uit te blinken Codering interviews is om te verschijnen in de codering interview en veel van hen. U zult merken dat je beter na elk interview en dit helpt u ook om meerdere aanbiedingen die verder kunt u beter te onderhandelen en die extra 30K tot 50K die u over het algemeen verlaten op een tafel als je gewoon een aanbod in de hand.
  8. Btw, Als je klaar bent voor Coding Interview dan kunt u ook TripleByte’s quiz en ga direct naar de laatste ronde van interviews met top tech bedrijven zoals Coursera, Adobe Acrobat, Dropbox, Grammarly, Uber, Quora, Evernote, Twitch, en nog veel meer. Ik kende Triplebyte nog niet, maar ze leveren een geweldige service aan werkzoekenden. Een grote dank aan hen.

Top 100 coderingsproblemen van het programmeren van sollicitatiegesprekken

Om niet nog meer van uw tijd te verspillen, hier is mijn lijst met 100 vaak gestelde coderingsproblemen van het programmeren van sollicitatiegesprekken. Om de meeste van deze lijst te krijgen, stel ik voor om daadwerkelijk het probleem op te lossen.

Doe het zelf, maakt niet uit of je vastloopt, want dat is de enige manier om te leren. Na het oplossen van een paar problemen zul je vertrouwen krijgen. Ik stel ook voor dat je naar de oplossing kijkt als je vastzit of nadat je het probleem hebt opgelost, op deze manier leer je verschillende oplossingen te vergelijken en hoe je een probleem vanuit een andere invalshoek benadert.

  1. Hoe wordt een bubble sort algoritme geïmplementeerd? (oplossing)
  2. Hoe is een merge sort algoritme geïmplementeerd? (oplossing)
  3. Hoe tel je het voorkomen van een bepaald teken in een tekenreeks? (oplossing)
  4. Hoe drukt u de eerste niet-herhaalde teken van een tekenreeks? (oplossing)
  5. Hoe zet je een gegeven String in int zoals de atoi()? (oplossing)
  6. Hoe implementeer je een bucket sort algoritme? (oplossing)
  7. Hoe implementeer je een tellen sorteren algoritme? (oplossing)
  8. Hoe verwijder je duplicaten uit een array in plaats? (oplossing)
  9. Hoe keer je een array in plaats in Java? (oplossing)
  10. Hoe worden duplicaten verwijderd uit een array zonder gebruik van een bibliotheek? (oplossing)
  11. Hoe wordt een radix sort algoritme geïmplementeerd? (oplossing)
  12. Hoe verwissel je twee getallen zonder gebruik te maken van de derde variabele? (oplossing)
  13. Hoe controleer je of twee rechthoeken elkaar overlappen? (oplossing)
  14. Hoe ontwerp je een automaat? (oplossing)
  15. Hoe vind je het ontbrekende getal in een gegeven gehele reeks van 1 tot 100? (oplossing)
  16. Hoe vind je het dubbele getal op een gegeven geheel getal matrix? (oplossing)
  17. Hoe vind je de dubbele getallen in een matrix als het bevat meerdere dubbelen? (oplossing)
  18. Verschil tussen een stabiel en onstabiel sorteeralgoritme? (antwoord)
  19. Hoe wordt een iteratief quicksort algoritme geïmplementeerd? (oplossing)
  20. Hoe vind je het grootste en kleinste getal in een ongesorteerde integer array? (oplossing)
  21. Hoe keer je een gekoppelde lijst in plaats? (oplossing)
  22. Hoe voeg je een element toe in het midden van de gekoppelde lijst? (oplossing)
  23. Hoe sorteer je een gekoppelde lijst in Java? (oplossing)
  24. Hoe vind je alle paren van een geheel getal array waarvan de som gelijk is aan een bepaald getal? (oplossing)
  25. Hoe implementeer je een insertion sort algoritme? (oplossing)
  26. Hoe worden doublures verwijderd uit een gegeven array in Java? (oplossing)
  27. hoe de dubbele teken te verwijderen uit String? (oplossing)
  28. Hoe kan ik het maximaal voorkomende teken in gegeven String vinden? (oplossing)
  29. Hoe is een geheel getal array gesorteerd in plaats met behulp van de quicksort algoritme? (oplossing)
  30. Hoe maak je een gegeven string omgekeerd in plaats? (oplossing)
  31. Hoe print je dubbele tekens uit een string? (oplossing)
  32. Hoe controleer je of twee strings anagrammen van elkaar zijn? (oplossing)
  33. Hoe vind je alle permutaties van een tekenreeks? (oplossing)
  34. Hoe kan een gegeven tekenreeks worden omgekeerd met behulp van recursie? (oplossing)
  35. Hoe controleer je of een gegeven string een palindroom is? (oplossing)
  36. Hoe vind je de lengte van de langste substring zonder herhalende tekens? (oplossing)
  37. Gegeven string str, Hoe vind je de langste palindromische substring in str? (oplossing)
  38. Hoe controleer je of een string alleen cijfers bevat? (oplossing)
  39. Hoe verwijder je Nth Node van het einde van een gekoppelde lijst? (oplossing)
  40. Hoe samen te voegen twee gesorteerde gekoppelde lijst? (oplossing)
  41. Hoe converteer je een gesorteerde lijst naar een binaire zoekboom? (oplossing)
  42. Hoe vind je dubbele tekens in een gegeven tekenreeks? (oplossing)
  43. Hoe tel je een aantal klinkers en medeklinkers in een gegeven tekenreeks? (oplossing)
  44. Hoe kun je woorden in een gegeven zin omkeren zonder gebruik te maken van een bibliotheek methode? (oplossing)
  45. Hoe controleer je of twee strings een rotatie van elkaar zijn? (oplossing)
  46. Hoe converteer je een byte array naar String? (oplossing)
  47. Hoe verwijder je een bepaald teken uit String? (oplossing)
  48. Hoe vind je het middelste element van een enkelvoudig gekoppelde lijst in een keer? (oplossing)
  49. Hoe controleer je of een gegeven gekoppelde lijst een cyclus bevat? Hoe vind je het beginknooppunt van de cyclus? (oplossing)
  50. Hoe keer je een gekoppelde lijst om? (oplossing)
  51. Hoe keer je een enkelvoudig gekoppelde lijst zonder recursie? (oplossing)
  52. Hoe worden dubbele knooppunten verwijderd in een ongesorteerde gekoppelde lijst? (oplossing)
  53. Hoe vind je de lengte van een enkelvoudig gekoppelde lijst? (oplossing)
  54. Hoe vind je het derde knooppunt vanaf het einde in een enkelvoudig gekoppelde lijst? (oplossing)
  55. Hoe vind je de som van twee gekoppelde lijsten met behulp van Stack? (oplossing)
  56. Wat is het verschil tussen array en gekoppelde lijst? (antwoord)
  57. Hoe verwijder je duplicaten uit een gesorteerde gekoppelde lijst? (oplossing)
  58. Hoe vind je het knooppunt waar de intersectie van twee enkelvoudig gekoppelde lijsten begint. (oplossing)
  59. Gegeven een gekoppelde lijst en een waarde x, partitioneer het zo dat alle knooppunten kleiner dan x komen voor knooppunten groter dan of gelijk aan x. (oplossing)
  60. Hoe om te controleren of een gegeven gekoppelde lijst is een palindroom? (oplossing)
  61. Hoe verwijder je alle elementen uit een gekoppelde lijst van gehele getallen die overeenkomt met een gegeven waarde? (oplossing)
  62. Hoe is een binaire zoekboom geïmplementeerd? (oplossing)
  63. Hoe voer je pre order traversal in een gegeven binaire boom? (oplossing)
  64. Hoe doe je traverse een gegeven binaire boom in pre-order zonder recursie? (oplossing)
  65. Hoe voer je een in orde traversal in een gegeven binaire boom? (oplossing)
  66. Hoe print je alle knooppunten van een gegeven binaire boom met behulp van inorder traversal zonder recursie? (oplossing)
  67. Hoe implementeer je een post-volgorde traversal algoritme? (oplossing)
  68. Hoe traverseer je een binaire boom in postorder traversal zonder recursie? (oplossing)
  69. Hoe worden alle bladeren van een binaire zoekboom afgedrukt? (oplossing)
  70. Hoe tel je een aantal bladknopen in een gegeven binaire boom? (oplossing)
  71. Hoe voer je een binaire zoekactie uit in een gegeven matrix? (oplossing)
  72. Hoe verwissel je twee getallen zonder gebruik te maken van de derde variabele? (oplossing)
  73. Hoe te controleren of twee rechthoeken overlappen met elkaar? (oplossing)
  74. Hoe ontwerp je een verkoopautomaat? (oplossing)
  75. Hoe implementeer je een LRU Cache in uw favoriete programmeertaal? (oplossing)
  76. Hoe om te controleren of een gegeven aantal is een palindroom? (oplossing)
  77. Hoe om te controleren of een gegeven getal is een Armstrong nummer? (oplossing)
  78. Hoe vind je alle priemfactoren van een gegeven getal? (oplossing)
  79. Hoe om te controleren of een bepaald getal is positief of negatief in Java? (oplossing)
  80. Hoe de grootste priemfactor van een gegeven integraal getal te vinden? (oplossing)
  81. Hoe druk je alle priemgetallen tot een bepaald getal? (oplossing)
  82. Hoe de driehoek van Floyd uit te drukken? (oplossing)
  83. Hoe Pascal’s driehoek te drukken? (oplossing)
  84. Hoe bereken je de vierkantswortel van een gegeven getal? (oplossing)
  85. Hoe om te controleren of het gegeven getal is een priemgetal? (oplossing)
  86. Hoe twee getallen optellen zonder gebruik van de plus-operator in Java? (oplossing)
  87. Hoe om te controleren of een bepaald getal even / oneven is zonder het gebruik van rekenkundige operator? (oplossing)
  88. Hoe een gegeven piramidestructuur af te drukken? (oplossing)
  89. Hoe vind je de hoogste herhalende wereld van een gegeven bestand in Java? (oplossing)
  90. Hoe om te keren gegeven geheel getal in Java? (oplossing)
  91. Hoe maak je een decimaal getal converteren naar binair in Java? (oplossing)
  92. Hoe om te controleren of een bepaald jaar is een schrikkeljaar in Java? (oplossing)
  93. Kun je een binair zoekalgoritme implementeren zonder recursie? (oplossing)
  94. Verschil tussen een stabiel en onstabiel sorteeralgoritme? (antwoord)
  95. Wat is Depth First zoekalgoritme voor een binaire boom? (oplossing)
  96. Hoe wordt een iteratief quicksort algoritme geïmplementeerd? (oplossing)
  97. Hoe implementeer je een insertion sort algoritme? (oplossing)
  98. Hoe wordt een merge sort algoritme geïmplementeerd? (oplossing)
  99. Wat is het verschil tussen vergelijkende en niet-vergelijkende sorteeralgoritmen? (antwoord)
  100. Hoe implementeren zeef van Eratosthenes algoritmen voor priemgetal? (oplossing)

Deze vele vragen moet genoeg zijn, maar als je meer van dergelijke codering vragen die u kunt hulp nemen van boeken zoals Cracking The Code Interview, door Gayle Laakmann McDowell die 189 + Programmeren vragen en oplossing presenteert. Een goed boek om je in korte tijd voor te bereiden op sollicitatiegesprekken over programmeren.

Nu ben je klaar voor het coderingsinterview

Dit zijn enkele van de meest voorkomende vragen buiten de datastructuur en algoritmen die je helpen om het echt goed te doen in je interview.

Ik heb ook veel van deze vragen op mijn blog gedeeld, dus als je echt geïnteresseerd bent, kun je daar altijd naartoe gaan en ernaar zoeken.

Deze veelvoorkomende codering, gegevensstructuur en algoritmevragen zijn degene die je moet kennen om succesvol te interviewen met elk bedrijf, groot of klein, voor elk niveau van programmeerbaan.

Als u op zoek bent naar een programmeer- of softwareontwikkelingsbaan in 2019, kunt u uw voorbereiding beginnen met deze lijst met coderingsvragen en als u klaar bent voor Interview dan kunt u ook de quiz van TripleByte doen en rechtstreeks naar de laatste ronde van interviews gaan met top tech-bedrijven zoals Coursera, Adobe, Dropbox, Grammarly, en nog veel meer.

Deze lijst biedt goede onderwerpen voor te bereiden en helpt ook bij het beoordelen van uw voorbereiding om uit te vinden uw gebieden van sterkte en zwakte.

Goede kennis van gegevensstructuur en algoritmen is belangrijk voor succes in codering interviews en dat is waar je moet het grootste deel van uw aandacht.

Verder leren
Data Structures and Algorithms: Deep Dive Using Java
10 boeken om technische programmeer/codeer sollicitatiegesprekken voor te bereiden
10 Algoritmeboeken die elke programmeur zou moeten lezen
Top 5 Data Structure and Algorithm Books for Java Developers
Van 0 tot 1: Data Structures & Algoritmen in Java
Data Structure and Algorithms Analysis – Job Interview
20+ String-gebaseerde codeerproblemen uit interviews
20+ linked list problemen uit interviews
20+ basis algoritmen gebaseerde problemen uit interviews

Closing Notes

Dank je, Je hebt het tot het einde van het artikel geschopt … Veel succes met je programmeer interview! Het zal zeker niet makkelijk zijn, maar door deze zoek en sorteer algoritme vragen te volgen, ben je al een stapje dichterbij dan anderen. Trouwens, hoe meer vragen je in de praktijk oplost, hoe beter je voorbereiding zal zijn.

Dus, als je denkt dat 100 codeerproblemen niet genoeg zijn en je meer nodig hebt, bekijk dan deze extra 50 programmeervragen voor telefonische interviews en deze boeken en cursussen voor een meer grondige voorbereiding.

Al het beste voor je codeerinterview.

Andere artikelen die je misschien leuk vindt:

Plaats een reactie