A CodeFights jó webhely, ahol időt tölthet?


A legjobb válasz

Szinte feleslegesnek tűnik válaszolni, mert mit ért “jó” alatt? Mit akarsz elérni?

Ha felveszed a felvételedet, elképzelhető, hogy ez jó módszer a felvételre, de valószínűtlennek tűnik, hacsak nem igazán vagy valamilyen szuper jó forró lövés. De nehéz tudni, hogy csinálnád. Biztos vagyok benne, hogy vannak jobb módszerek az álláskeresésre, ha tudod, hogyan kell jól kódolni, és be tudod bizonyítani. Például tegyen néhány jó, hasznos kódot a github-ra.

Nagyon sok időt töltöttem ott mostanában (hónapok óta). Mint minden tanulási törekvésnél, ez segít kezelni önmagadat, miközben ezt csinálod. A zöld pipák, aranyérmék és jobb jelvények megszerzésének folyamata függőséget okozhat, ezért vigyázzon a terméketlen fennsíkra.

Az emberek kritizálják a napi kihívásokat, de rájönnek, hogy a napi kihívás készítése szintén kreatív folyamat, és a megjegyzések szakasz segít.

A nyelvtanulás érdekében van egy Arcade rész, ahol a problémákat a saját tempójában dolgozhatja fel. Úgy tűnik, hogy az embereket csak a befejezés sorrendje szerint rangsorolja, tehát ez nem valami versenyképes. Nagyon hasznosnak találtam ezt a PHP funkciók és tömbök megismerésében, és az OO módszerek használatán is dolgozom.

A napi kihívásokat nagyon izgalmasnak, érdekesnek tartom (annak idején), és kihívást jelentő. Ha mindig meg tudja csinálni, akkor ez túl könnyű. A Leírás elolvasása művészet. Néha túl gyorsan kezdek kódolni, mielőtt a Leírást helyesen ismerem, aztán megbánom. Szintén néha gondolok egy nem megfelelő megoldásra, és elkezdem kódolni, mielőtt megértettem volna, hogyan lehet a problémát helyesen megoldani. A közelmúltban nagyon kihívásokkal küzdő problémák merültek fel, amelyek megoldásához dinamikus programozási technikákra van szükség, és hármat közülük nem tudtam megtenni a megadott időben.

Ha kihívást jelentő rejtvényeket akarsz készíteni és ecsetelni a PHP vagy C ++ vagy Java vagy MySQL vagy Javascript kódolási képességeiről, vagy egy olyan divatos nyelvet tanulni, mint a Haskell vagy a Python, vagy az R, vagy a Ruby stb., akkor azt mondanám, hogy a Codefights nagyszerű site to go.

Válasz

Mindkét platformot eléggé kiterjedten használtam az adatstruktúrák és az algoritmusok ismereteinek javításához.

Hackerank erősségei

  • Rengeteg, és rengeteg kérdésre gondolok, sávokba rendezve. Szeretne megtudni, hogyan kell használni a reguláris kifejezéseket / Java / SQL / algoritmusokat / adatstruktúrákat / Python / Math? A témakörök mindegyikének és egyebeknek vannak sajátos útjai meghatározott altémákkal.
  • Ha ezeket a webhelyeket interjú előkészítéséhez használja, akkor sok vállalat elküldi a kódolási kihívásait a Hacker rangon keresztül, az interjú folyamatától eltekintve. , ezért jó megismerkedni. Az Expedia, a GE, a Goldman Sachs és az Optiver néhányat megemlítve
  • Szinte az összes funkciót (ha nem az összeset) ingyen kapja meg a weboldalról. A fizetős előfizetés nélküli Leetcode-on határozott hátrányok vannak.
  • Például nem mindig tudja azonnal elküldeni a megoldást, annak köszönhetően, hogy hogyan működtetik a megoldást az összes többi megoldás rangsorolásához.
  • Szinte az összes problémamegállapodás tartalmaz példákat 1 vagy 2 tesztesetre és válaszra, valamint elég alapos magyarázatot ad arra, hogy a válasz miért van így. Ez sokkal ritkábban fordul elő a Leetcode esetében.
  • Minden, a Hackerrankon feltett kérdés ellenőrzött megoldással rendelkezik a „Szerkesztés” fülön. Nem minden Leetcode kérdéssel van egy kérdés (Bár mindkét platformon könnyen választ kaphat a „megbeszélések” fülre kattintva)
  • Mindkét webhelyen vannak olyan teszt esetek, amelyekkel a beküldés előtt futtathatja a kódot. A Hackerrank nagyon jó munkát végez annak érdekében, hogy ezeket a láthatóakat a szokásos esetekké tegye, míg a Leetcode szinte mindig éltesztet használ a látható teszthez.
  • A Hackerrack rendelkezik vim kötésekkel! (Ha erre gondolsz)

Leetcode erősségei

  • A Leetcode-ban nagyon szeretem azt, hogy egyenesen a problémára vonatkozó állításokkal rendelkeznek. A Hackerrank általában kissé hosszadalmas bevezetésekkel és olyan forgatókönyvekkel rendelkezik, amelyek elfedik a tényleges feladatot.
  • Például: A Hackerrank olyan lehet, mint „Sally szereti a csokoládét, de csak a legkevesebb nátriumot tartalmazó csokoládét akarja enni. Ha egy tömb nátriumszintet ad meg, akkor a legalacsonyabb csokoládét adja vissza a legalacsonyabb nátriumtartalommal ”
  • A Leetcode egyenértéke„ lenne, ha egész tömböt adnánk vissza. a min elem ”
  • A Hackerrank és a Leetcode is összehasonlítja algoritmusának futási idejét azzal, hogy a megoldást tesztesetekkel időzíti. Miután azonban a megoldásod jóváhagyásra került, felsorolja az összes jóváhagyott megoldással, ugyanazon a programozási nyelven, valamint annak hány százalékát, hogy mennyit vertél ki a sebesség érdekében.
  • A tesztelési környezet sokkal jobb. Ha egyéni tesztesetet ad meg, az szintén a megfelelő megoldást futtatja, így azonnal megtudhatja, hogy a tiéd helyes-e vagy sem.A Hackerrankon egy egyedi teszteset futtatása csak a megoldást futtatja.
  • Egy másik dolog, amit szeretek, minden probléma esetén a kódoló felület csak valamilyen előre definiált függvényaláírással dolgozik. A Hackerrank-ban sokszor a bemenetet / kimenetet kell kezelned, és a karakterlánc-illesztést futtatja a válasz érvényesítéséhez, ami kissé bosszantó lehet
  • Komolyan … miért kellene „IGEN” vagy „ NEM ”, amikor a gyorsabb megfelelő csak logikai objektumot tart?
  • A Leetcode-nak ez a fantáziája ” A kérdést az X Company tette fel Y\% gyakorisággal “, , amelyet az előfizetéssel érhet el. Én személy szerint úgy gondolom, hogy ez az eszköz nem olyan hasznos, és hamis benyomást kelt, hogy az emberek csak megjegyezhetik ezeket a konkrét kérdéseket, miután interjút kapnak az X céggel.

Nekem személy szerint jobban tetszik a LeetCode és végső soron az jön le, hogy mire használja.

Jogi nyilatkozat : Ezek a véleményeim arról, hogy mik az erősségei és gyengeségek. Bár egyesek úgy gondolhatják, hogy a gyengeség valóban erősség és satu fordítva.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük