rozwiązywanie tych problemów często zadawane kodowania, aby odnieść sukces na następnej rozmowy kwalifikacyjnej programowania.

września 20, 2019 · 13 min czytania

image_credit – coderust 3.,0: szybsze przygotowywanie wywiadów z kodowaniem dzięki interaktywnym wyzwaniom & wizualizacje

wywiady z kodowaniem są tak ważną rzeczą w życiu programisty, że nie może się z tego wywinąć. Jest to pierwsza przeszkoda, którą muszą pokonać, aby uzyskać pracę programisty, której pragną przez całe życie szkolne i studenckie.,

co gorsza, przekonasz się, że tak wiele osób w Internecie mówi, że rozmowa kwalifikacyjna z kodowaniem jest wadliwa, proces zatrudniania programistów jest do bani i tak dalej, ale nie musisz zwracać na nie uwagi, przynajmniej na początku kariery.

mogą mieć rację, ale są w pociągu, do którego próbujesz się dostać. Bez względu na to, jak bardzo krytykują wywiady z programistami i proces zatrudniania programistów, wielu z nich przeszło tę samą drogę do miejsca, w którym się znajdują.,

wszyscy wiemy, że kodowanie Interview System nie jest idealny i wielu próbuje go zmienić, ale dopóki nie zostanie zmieniony, musisz przestrzegać jego zasad, aby dostać się do systemu. Jako junior developer twoim priorytetem powinno być wyczyszczenie rozmowy kwalifikacyjnej dotyczącej kodowania i uzyskanie pożądanej pracy.,

jako autor bloga Java i średniej publikacji, otrzymuję wiele zapytań związanych z problemami z kodowaniem i jak sobie z nimi radzić i dlatego piszę takie artykuły, które pomogły wielu programistom bezpośrednio i bezpośrednio w ich karierze.

w tym artykule podzielę się z wami top 100 problemów z wywiadami z programowania, które każdy programista powinien znać.

teraz usunąłem zamieszanie, że rozmowa kwalifikacyjna jest ważna i nie należy rozpraszać uwagi, przejdźmy do prawdziwej pracy., Pytanie brzmi: co przygotować do rozmów kwalifikacyjnych?

cóż, najważniejszą rzeczą do przygotowania są problemy z kodowaniem opartym na strukturze danych, takie jak problemy z kodowaniem opartym na tablicach, problemy z łańcuchami, problemy z listami połączonymi, problemy z drzewami binarnymi itp.

oprócz pytań opartych na strukturze danych, Większość wywiadów programistycznych zadaje również pytania dotyczące algorytmu, projektowania, manipulacji bitami i ogólnych pytań opartych na logice, które opiszę w tej sekcji.,

ważne jest, aby praktykować te pojęcia, ponieważ czasami stają się trudne do rozwiązania w rzeczywistym wywiadzie. Ćwiczenie ich wcześniej nie tylko zaznajamia cię z nimi, ale także daje większą pewność w wyjaśnieniu rozwiązania ankieterowi.,

jednym z głównych problemów z kodowaniem jest to, że są setki i tysiące problemów z kodowaniem na wywiadach, są nawet strony takie jak LeetCode, HackerRank, Codewars, Topcoder, freeCodeCamp, HackerEarth, które szkolą programistów do kodowania wywiadów z wieloma trudnymi pytaniami, które czasami przytłaczają początkującego szukającego pracy.

wierzę w prostotę i 10% wysiłku, które dają 90% wyników i dlatego zebrałem top 100 problemy z kodowaniem, które nie są zbyt trudne, a także często zadawane podczas prawdziwych wywiadów.,

rozwiązanie tych problemów nie tylko daje Ci pewność siebie, ale także pomaga rozpoznać niektóre z najczęstszych wzorców algorytmicznych, które pomogą Ci również rozwiązać niektóre niewidoczne problemy na prawdziwych wywiadach.

zasoby do kodowania wywiadów

wybór dobrych zasobów jest bardzo ważny dla sukcesu w wywiadach kodowania. Jeśli wybrałeś niewłaściwy zasób, to więcej niż pieniądze, stracisz cenny czas potrzebny na przygotowanie, a zatem poświęć trochę czasu na poszukiwanie dobrego zasobu.,

Jeśli potrzebujesz rekomendacji, poniżej znajdują się niektóre z moich sprawdzonych zasobów do dogłębnej nauki struktury danych i algorytmów do kodowania wywiadów:

  • struktury danych i algorytmy: Deep Dive Using Java for Java developers., Dowiedz się więcej o tablicach, połączonych listach, drzewach, Hashtablach, stosach, kolejkach, stertach, algorytmach sortowania i algorytmach wyszukiwania
  • algorytmy i struktury danych w Pythonie dla tych, którzy kochają Pythona
    przewodnik po implementacji najbardziej aktualnych algorytmów od podstaw: tablic, połączonych list, algorytmów grafów i sortowania
  • algorytmy JavaScript i struktury danych Masterclass by Colt_Steele dla programistów JavaScript. Zaginiony Bootcamp wywiadu Informatyczno-programistycznego. Dowiedz się wszystkiego, czego potrzebujesz, aby osiągnąć trudne wywiady z kodowaniem.,
  • Mastering Data Structures& Algorithms using C and C++ for those who are good at C/C++
  • Data Structures in Java: an Interview Refresher by the Educative Team to refresh important Data Structure and algorithms concepts in Java. Ten kurs zawiera szczegółowy przegląd wszystkich popularnych struktur danych i dostarcza szczegóły poziomu implementacji w Javie, aby czytelnicy mogli być dobrze wyposażeni.,
  • Grokking the Coding Interview: Patterns for Coding Questions by Fahim Ul Haq and the Educative Team
    To jest jak meta course for coding interviews, który nie nauczy Cię, jak rozwiązać problem z kodowaniem, ale zamiast tego nauczy Cię, jak rozwiązać konkretny rodzaj problemów z kodowaniem za pomocą wzorców., Opanuj te 15 podstawowych wzorców do pytań wywiadowych, a będziesz w stanie rozwiązać wszystko, co napotkasz na rozmowie kwalifikacyjnej

i, jeśli wolisz książki, nie ma lepszego niż cracking the Coding Interview, autorstwa Gayle Laakmann McDowell, który prezentuje ponad 189 pytań programistycznych i rozwiązania. Dobra książka, która w krótkim czasie przygotuje do programowania rozmowy kwalifikacyjne. Btw, zarobię też trochę pieniędzy, jeśli kupisz którykolwiek z tych zasobów wymienionych tutaj.,

kilka wskazówek dotyczących kodowania wywiadów

  1. nie ma lepszego sposobu na zrobienie dobrze w kodowaniu wywiadów niż ćwiczenie jak największej liczby problemów z kodowaniem. Będzie to nie tylko szkolić swój umysł do rozpoznawania wzorców algorytmicznych w problemach, ale także daje bardzo potrzebne zaufanie do rozwiązania problemu, nigdy nie widziałem przed.
  2. moje drugie wskazówki to poznanie jak największej liczby struktur danych i algorytmów., Jest to rozszerzenie poprzedniej wskazówki, ale obejmuje również czytanie, a nie tylko ćwiczenie. Na przykład, jeśli wiesz o tabeli hash, możesz łatwo rozwiązać wiele problemów z tablicami i licznikami. To samo dotyczy drzewa i wykresu.
  3. wybór odpowiedniej struktury danych jest bardzo ważną częścią rozwoju oprogramowania i wywiadów programistycznych i dopóki ich nie poznasz, nie będziesz mógł wybrać.
  4. Time yourself-kandydaci, którzy rozwiązują problemy z rozmową w terminie i szybko są bardziej skłonni do zrobienia dobrze w rozmowie kwalifikacyjnej, więc powinieneś również czas siebie.,
  5. pomyśl o przypadkach edge i przeprowadź przez nie kod. Niektóre dobre przypadki brzegowe mogą być puste wejście, jakieś dziwne wejście lub naprawdę duże wejście do testowania warunków brzegowych i limitów.
  6. Po rozwiązaniu problemu spróbuj wyjaśnić przyjacielowi lub współpracownikom, w jaki sposób interesuje się również problemami z kodowaniem. To powie Ci, czy naprawdę zrozumiałeś problem, czy nie. Jeśli możesz łatwo wyjaśnić oznacza, że zrozumiałeś. Ponadto dyskusja sprawia, że twój umysł działa i możesz wymyślić alternatywne rozwiązanie i znaleźć pewne wady w istniejących algorytmach.,
  7. Kolejną przydatną wskazówką do wywiadów z kodowaniem w programie excel jest pojawienie się w wywiadzie z kodowaniem i wielu z nich. Znajdziesz się coraz lepiej po każdym wywiadzie, a to również pomaga uzyskać wiele ofert, które dodatkowo pozwala lepiej negocjować i uzyskać te dodatkowe 30K do 50K, które zazwyczaj zostawiasz na stole, jeśli tylko masz jedną ofertę w ręku.,
  8. Btw, jeśli jesteś gotowy na wywiad z kodowaniem, możesz również wziąć udział w quizie TripleByte ' a i przejść bezpośrednio do ostatniej rundy wywiadów z najlepszymi firmami technologicznymi, takimi jak Coursera, Adobe Acrobat, Dropbox, Grammarly, Uber, Quora, Evernote, Twitch i wiele innych. Nie wiedziałem o Triplebyte wcześniej, ale zapewniają one doskonałą obsługę dla osób poszukujących pracy. Wielkie dzięki.

Top 100 problemów z kodowaniem podczas rozmów kwalifikacyjnych

bez marnowania więcej czasu, oto moja lista 100 najczęściej zadawanych problemów z kodowaniem podczas rozmów kwalifikacyjnych., Aby uzyskać większość z tej listy, proponuję faktycznie rozwiązać problem.

zrób to sam, bez względu na to, czy utknąłeś, bo to jedyny sposób na naukę. Po rozwiązaniu kilku problemów zyskasz pewność siebie. Proponuję również spojrzeć na rozwiązanie, gdy utkniesz lub po rozwiązaniu problemu, w ten sposób nauczysz się porównywać różne rozwiązanie i jak podejść do problemu pod innym kątem.

  1. Jak zaimplementowany jest algorytm sortowania bąbelków? (rozwiązanie)
  2. Jak zaimplementowany jest algorytm sortowania scalonego?, (rozwiązanie)
  3. jak policzyć wystąpienie danego znaku w łańcuchu? (rozwiązanie)
  4. Jak wydrukować pierwszy nie powtórzony znak z łańcucha? (solution)
  5. Jak przekonwertować dany Łańcuch znaków na int jak atoi()? (rozwiązanie)
  6. jak zaimplementować algorytm sortowania bucket? (rozwiązanie)
  7. jak zaimplementować algorytm sortowania liczenia? (rozwiązanie)
  8. Jak usunąć duplikaty z tablicy w miejscu? (rozwiązanie)
  9. Jak odwrócić tablicę w Javie?, (rozwiązanie)
  10. w jaki sposób duplikaty są usuwane z tablicy bez użycia żadnej biblioteki? (rozwiązanie)
  11. Jak zaimplementowany jest algorytm sortowania radix? (rozwiązanie)
  12. Jak zamienić dwie liczby bez użycia trzeciej zmiennej? (rozwiązanie)
  13. Jak sprawdzić, czy dwa prostokąty nakładają się na siebie? (rozwiązanie)
  14. Jak zaprojektować automat? (rozwiązanie)
  15. Jak znaleźć brakującą liczbę w danej tablicy liczb całkowitych od 1 do 100? (rozwiązanie)
  16. Jak znaleźć duplikat liczby na danej tablicy liczb całkowitych?, (rozwiązanie)
  17. Jak znaleźć duplikaty liczb w tablicy, jeśli zawiera ona wiele duplikatów? (rozwiązanie)
  18. różnica między stabilnym i niestabilnym algorytmem sortowania? (odpowiedź)
  19. Jak zaimplementowany jest iteracyjny algorytm quicksort? (rozwiązanie)
  20. Jak znaleźć największą i najmniejszą liczbę w niesortowanej tablicy liczb całkowitych? (rozwiązanie)
  21. Jak odwrócić linkowaną listę? (rozwiązanie)
  22. Jak dodać element na środku połączonej listy? (rozwiązanie)
  23. jak sortować listę linkowanych w Javie?, (rozwiązanie)
  24. Jak znaleźć wszystkie pary tablicy liczb całkowitych, których suma jest równa danej liczbie? (rozwiązanie)
  25. jak zaimplementować algorytm sortowania wstawiania? (rozwiązanie)
  26. jak w Javie usuwane są duplikaty z danej tablicy? (rozwiązanie)
  27. Jak usunąć zduplikowany znak z łańcucha? (rozwiązanie)
  28. Jak znaleźć maksimum występujących znaków w danym łańcuchu? (rozwiązanie)
  29. w jaki sposób sortowana jest tablica liczb całkowitych przy użyciu algorytmu quicksort? (rozwiązanie)
  30. Jak odwrócić dany ciąg w miejsce?, (rozwiązanie)
  31. Jak wydrukować duplikaty znaków z ciągu znaków? (rozwiązanie)
  32. Jak sprawdzić, czy dwa ciągi są anagramami siebie? (rozwiązanie)
  33. Jak znaleźć wszystkie permutacje ciągu? (rozwiązanie)
  34. Jak można odwrócić dany łańcuch za pomocą rekurencji? (rozwiązanie)
  35. Jak sprawdzić, czy dany łańcuch jest palindromem? (rozwiązanie)
  36. Jak znaleźć długość najdłuższego podłańcucha bez powtarzania znaków? (rozwiązanie)
  37. podany łańcuch str, jak znaleźć najdłuższy palindromiczny łańcuch w str?, (rozwiązanie)
  38. Jak sprawdzić, czy ciąg zawiera tylko cyfry? (rozwiązanie)
  39. Jak usunąć n-ty węzeł z końca połączonej listy? (rozwiązanie)
  40. Jak połączyć dwie posortowane listy połączone? (rozwiązanie)
  41. Jak przekonwertować posortowaną listę na binarne drzewo wyszukiwania? (rozwiązanie)
  42. Jak znaleźć duplikaty znaków w danym ciągu? (rozwiązanie)
  43. jak policzyć liczbę samogłosek i spółgłosek w danym ciągu? (rozwiązanie)
  44. Jak odwrócić słowa w danym zdaniu bez użycia żadnej metody bibliotecznej?, (rozwiązanie)
  45. Jak sprawdzić, czy dwa ciągi są rotacją siebie? (rozwiązanie)
  46. Jak przekonwertować tablicę bajtów na łańcuch znaków? (rozwiązanie)
  47. Jak usunąć dany znak z łańcucha? (rozwiązanie)
  48. Jak znaleźć środkowy element listy pojedynczo połączonej w jednym przejściu? (rozwiązanie)
  49. Jak sprawdzić, czy dana linkowana lista zawiera cykl? Jak znaleźć węzeł początkowy cyklu? (rozwiązanie)
  50. Jak odwrócić linkowaną listę? (rozwiązanie)
  51. Jak odwrócić pojedynczo linkowaną listę bez rekurencji?, (rozwiązanie)
  52. jak są usuwane zduplikowane węzły na nieposortowanej liście linkowanych? (rozwiązanie)
  53. Jak znaleźć długość listy pojedynczo linkowanej? (rozwiązanie)
  54. Jak znaleźć trzeci węzeł od końca na liście pojedynczo linkowanej? (rozwiązanie)
  55. Jak znaleźć sumę dwóch połączonych list za pomocą stosu? (rozwiązanie)
  56. Jaka jest różnica między tablicą a listą linkowaną? (odpowiedź)
  57. Jak usunąć duplikaty z posortowanej listy linkowanych? (rozwiązanie)
  58. Jak znaleźć węzeł, na którym rozpoczyna się przecięcie dwóch pojedynczo połączonych list., (rozwiązanie)
  59. biorąc pod uwagę listę połączoną i wartość x, podziel ją tak, aby wszystkie węzły mniejsze niż x były przed węzłami większymi lub równymi x. (rozwiązanie)
  60. Jak sprawdzić, czy dana lista połączona jest palindromem? (rozwiązanie)
  61. Jak usunąć wszystkie elementy z połączonej listy liczb całkowitych, które pasują do podanej wartości? (rozwiązanie)
  62. Jak zaimplementowane jest binarne drzewo wyszukiwania? (rozwiązanie)
  63. Jak wykonać preorder w danym drzewie binarnym? (rozwiązanie)
  64. Jak przemierzyć dane drzewo binarne w preorderze bez rekurencji?, (rozwiązanie)
  65. Jak wykonać przejście inorder w danym drzewie binarnym? (solution)
  66. Jak wydrukować wszystkie węzły danego drzewa binarnego używając inorder traversal bez rekursji? (rozwiązanie)
  67. jak zaimplementować algorytm postorder traversal? (rozwiązanie)
  68. Jak przemierzyć drzewo binarne w postorder traversal bez rekurencji? (rozwiązanie)
  69. jak drukowane są wszystkie liście binarnego drzewa wyszukiwania? (rozwiązanie)
  70. jak policzyć liczbę węzłów liściowych w danym drzewie binarnym?, (rozwiązanie)
  71. Jak wykonać wyszukiwanie binarne w danej tablicy? (rozwiązanie)
  72. Jak zamienić dwie liczby bez użycia trzeciej zmiennej? (rozwiązanie)
  73. Jak sprawdzić, czy dwa prostokąty nakładają się na siebie? (rozwiązanie)
  74. Jak zaprojektować Automat? (rozwiązanie)
  75. jak zaimplementować pamięć podręczną LRU w swoim ulubionym języku programowania? (rozwiązanie)
  76. Jak sprawdzić, czy dana liczba jest Palindromem? (rozwiązanie)
  77. Jak sprawdzić czy dana liczba jest liczbą Armstronga? (rozwiązanie)
  78. Jak znaleźć wszystkie czynniki pierwsze danej liczby?, (solution)
  79. Jak sprawdzić, czy dana liczba jest dodatnia czy ujemna w Javie? (rozwiązanie)
  80. Jak znaleźć największy czynnik pierwszy danej liczby Całkowej? (rozwiązanie)
  81. Jak wydrukować wszystkie liczby pierwsze do danej liczby? (rozwiązanie)
  82. Jak wydrukować Trójkąt Floyda? (rozwiązanie)
  83. Jak wydrukować trójkąt Pascala? (rozwiązanie)
  84. Jak obliczyć pierwiastek kwadratowy danej liczby? (rozwiązanie)
  85. Jak sprawdzić, czy podana liczba jest liczbą pierwszą? (rozwiązanie)
  86. Jak dodać dwie liczby bez użycia operatora plus w Javie?, (rozwiązanie)
  87. Jak sprawdzić, czy dana liczba jest parzysta / nieparzysta bez użycia operatora arytmetycznego? (rozwiązanie)
  88. Jak wydrukować daną strukturę piramidy? (solution)
  89. Jak znaleźć najwyższy powtarzalny świat z danego pliku w Javie? (rozwiązanie)
  90. Jak odwrócić daną liczbę całkowitą w Javie? (rozwiązanie)
  91. Jak przekonwertować liczbę dziesiętną na binarną w Javie? (rozwiązanie)
  92. Jak sprawdzić, czy dany rok jest rokiem przestępnym w Javie? (rozwiązanie)
  93. czy można zaimplementować binarny algorytm wyszukiwania bez rekurencji?, (rozwiązanie)
  94. różnica między stabilnym i niestabilnym algorytmem sortowania? (odpowiedź)
  95. co to jest algorytm wyszukiwania dla drzewa binarnego? (rozwiązanie)
  96. Jak zaimplementowany jest iteracyjny algorytm quicksort? (rozwiązanie)
  97. jak zaimplementować algorytm sortowania wstawiania? (rozwiązanie)
  98. Jak zaimplementowany jest algorytm sortowania scalonego? (rozwiązanie)
  99. Jaka jest różnica między algorytmami sortowania porównawczego a Nieporównawczego? (odpowiedź)
  100. jak zaimplementować algorytmy Eratostenesa dla liczby pierwszej?, (rozwiązanie)

te wiele pytań powinno wystarczyć, ale jeśli potrzebujesz więcej takich pytań kodowych, możesz skorzystać z pomocy książek takich jak Cracking the Code Interview, autorstwa Gayle Laakmann McDowell, która prezentuje ponad 189 pytań programistycznych i rozwiązania. Dobra książka, która w krótkim czasie przygotuje do programowania rozmowy kwalifikacyjne.,

teraz jesteś gotowy na wywiad kodujący

to niektóre z najczęstszych pytań poza strukturą danych i algorytmami, które pomagają ci naprawdę dobrze wykonać wywiad.

wiele z tych pytań podzieliłam się również na moim blogu, więc jeśli jesteś naprawdę zainteresowany, zawsze możesz tam pójść i ich poszukać.,

te typowe pytania dotyczące kodowania, struktury danych i algorytmów są tymi, które musisz znać, aby pomyślnie przeprowadzić rozmowę kwalifikacyjną z dowolną firmą, dużą lub małą, na dowolnym poziomie pracy programistycznej.

Jeśli szukasz pracy programistycznej lub programistycznej w 2019 roku, możesz rozpocząć przygotowania od tej listy pytań programistycznych, a jeśli jesteś gotowy na rozmowę kwalifikacyjną, możesz również wziąć udział w quizie TripleByte i przejść bezpośrednio do ostatniej rundy wywiadów z najlepszymi firmami technologicznymi, takimi jak Coursera, Adobe, Dropbox, Grammarly i wiele innych.,

Ta lista zawiera dobre tematy do przygotowania, a także pomaga ocenić Twoje przygotowanie, aby poznać Twoje obszary siły i słabości.

dobra znajomość struktury danych i algorytmów jest ważna dla sukcesu w kodowaniu wywiadów i na tym powinieneś skupić większość swojej uwagi.,ing Java
10 książek do przygotowania programowania technicznego/kodowania rozmowy kwalifikacyjne
10 książek o algorytmach każdy programista powinien przeczytać
Top 5 książek o strukturze danych i algorytmach dla programistów Java
od 0 do 1: struktury danych & algorytmy w Javie
Struktura danych i analiza algorytmów — rozmowa kwalifikacyjna
20+ problemy z kodowaniem na łańcuchu z wywiadów
20+ problemy z listą połączeń z wywiadów
20+ podstawowe problemy z algorytmami z wywiadów

uwagi końcowe

dzięki, dotarłeś do końca artykułu … powodzenia z wywiadem programistycznym!, Z pewnością nie będzie to łatwe, ale postępując zgodnie z tym algorytmem wyszukiwania i sortowania pytań, jesteś o krok bliżej niż inni. Nawiasem mówiąc, im więcej pytań rozwiążesz w praktyce, tym lepsze będzie twoje przygotowanie.

Tak więc, jeśli uważasz, że 100 problemów z kodowaniem to za mało i Potrzebujesz więcej, sprawdź te dodatkowe 50 pytań programistycznych do wywiadów telefonicznych oraz te książki i kursy do dokładniejszego przygotowania.

Wszystkiego najlepszego na rozmowę o kodowaniu.

Inne artykuły, które mogą ci się spodobać:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *