2010-04-14 12 views
17

Mam zaplanowaną rozmowę na miejscu, dlatego przygotowuję kilka podstawowych pytań. Zgodnie z profilem firmy, są one duże na temat manipulacji strunami. Do tej pory ręcznie kodowane te funkcje: długośćKlasyczne pytania dotyczące manipulowania ciągiem znaków?

  1. String, kopiowanie, concat, usunąć białą przestrzeń
  2. Odwrócona
  3. Anagramy
  4. Palindrome

Czy ktoś może dać mi listę więcej klasycznych ciągów pytań, które mogę ćwiczyć przed udaniem się tam?

+7

Czy publicznie stwierdzili w swoim "profilu firmy", że w swoich wywiadach lubią używać manipulacji na niższych poziomach? To ... po prostu dziwne. Dobrze, że wiesz, ale dziwne. – unwind

+0

Przykro mi z tego powodu, według mnie po zapoznaniu się z profilem firmy, myślę, że są one duże na temat manipulacji strunami. Firma nie dostarczyła żadnych informacji takich jak ta – Ray

+1

@ user189364: lol save faktycznie mówiąc, że cieszą się takimi pytaniami dokładnie, co dokładnie o ich profilu sprawiło, że uwierzyłeś, że są "wielkimi manipulatorami"?:) – Cam

Odpowiedz

10

Mogą Cię zapytać o wyrażenia regularne. Jeśli używają Javy, mogą zapytać o różnicę StringBuffer i StringBuilder.

+1

Zgadzam się co do znaczenia wyrażeń regularnych dla ciągu znaków manipulacja. – anonymous

+3

jeśli używają manipulacji łańcuchami niskiego poziomu, nigdy nie użyją regex – IAdapter

3

Upewnij się, że zwrot jest na miejscu. Nie powiedziałeś, więc może to już jest.

Pytanie, czy ponownie wprowadzić strstr() lub strtok(), może być również w górę ich zaułek, tak myślę.

UPDATE: Jako bonus, jeśli nie zakończy się ponowne wdrożenie jednego z nich, należy pamiętać, aby nie imię twoje funkcje zaczynając str, ponieważ przestrzeń nazw jest zarezerwowana. Posiadanie kandydata pokazuje, że wiedza w wywiadzie zrobiła na mnie wrażenie. :)

1

Sprawdź this obecnie. Może nie pasować do opisu "klasycznego", ale bardzo interesującego.

1

Chciałbym wyszukać algorytmy ciągów w dobrej książce algorytmu. Na przykład algorytm Boyera-Moore'a, Próby, Drzewa przyrostków, Minimalna odległość edycji, takie rzeczy.

2

Szybkie wyszukiwanie jak Boyer-Moore i Knuth-Morris-Pratt. Szybki strlen poprzez badanie więcej niż jednego bajtu na raz. Jednoczesne znajdowanie wielu ciągów w dużej części tekstu z Rabinem-Karpiem. Znajdowanie najbliższych meczów z takimi rzeczami, jak odległość Levenshtein. Wyrażenia regularne i sposoby ich implementacji. Różne kodowania ciągów Unicode i innych wielobajtowych oraz jak je konwertować.

5

Odwróć słowa w zdaniu, np.

"string manip interview question" 

staje

"question interview manip string" 

ten ma rozwiązanie, które wykorzystuje tylko jeden char wartości czasowej przestrzeni.

+0

Powinienem był powiedzieć, że możesz to zrobić w miejscu. – grokus

+0

hej dzięki za to pytanie – Ray

+0

Zapamiętaj położenie ostatniego znaku spacji, a następnie przesuń ostatnie słowo w lewo, aby to słowo było pierwsze. Zrób to dla każdego słowa. – psihodelia

2

Zaprojektuj bibliotekę wyrażeń regularnych.

Powiązane problemy