Je CodeFights dobrý web, na kterém můžete trávit čas?


Nejlepší odpověď

Zdá se mi téměř zbytečné odpovídat, protože co myslíte tím „dobrým“? Co chcete dosáhnout?

Pokud se chcete nechat najmout, mohl by to být dobrý způsob, jak se najmout, ale zdá se to nepravděpodobné, pokud opravdu nejste nějakým super dobrým hot shotem. Ale je těžké vědět, jak byste se dostali. Jsem si docela jist, že existují lepší způsoby, jak si najít práci, pokud víte, jak dobře kódovat a dokázat to. Například vložte nějaký dobrý a užitečný kód na github.

Nedávno jsem tam trávil spoustu času (už měsíce). Stejně jako u každého snahy o učení pomáhá i při tom zvládat sebe sama. Proces výdělku zelených značek a zlatých mincí a lepších odznaků může být návykový, takže si dejte pozor na neproduktivní náhorní plošinu.

Lidé kritizují denní výzvy, ale uvědomit si, že denní výzva je také kreativní proces a komentáře tato sekce vám pomůže.

Chcete-li se jen naučit jazyk, existuje sekce Arkády, kde můžete problémy řešit svým vlastním tempem. Zdá se, že lidé jsou řazeni podle pořadí dokončení, takže to není konkurenceschopné. Považoval jsem to za velmi užitečné při seznámení se s funkcemi a poli PHP a také pracuji na používání metod OO.

Považuji každodenní výzvy za velmi vzrušující, zajímavé (v té době) a náročný. Pokud to vždy dokážete, je to příliš snadné. Čtení popisu je umění. Někdy začnu kódovat příliš rychle, než budu správně znát popis, a pak toho lituji. Někdy také myslím na řešení, které není správné, a začnu to kódovat, než pochopím, jak problém vyřešit správně. V poslední době se objevily některé velmi náročné problémy, které k jejich řešení potřebují techniky dynamického programování, a byly tři, které jsem ve stanoveném čase nedokázal udělat.

Pokud chcete dělat náročné hádanky a oprášit to na znalosti kódování v PHP nebo C ++ nebo Javě nebo MySQL nebo Javascript, nebo se naučit přepychový jazyk jako Haskell nebo Python nebo R nebo Ruby atd., pak bych řekl, že Codefights je skvělý site to go to.

Odpověď

Obě platformy jsem velmi intenzivně používal k posílení znalostí svých datových struktur a algoritmů.

Silné stránky hackerů

  • Tuny a myslím spousty otázek a uspořádané do skladeb. Chcete se dozvědět, jak používat regulární výrazy / Java / SQL / Algorithms / Data Structures / Python / Math? Každé z těchto témat a více má konkrétní cesty s konkrétními dílčími tématy.
  • Pokud tyto stránky používáte k přípravě na pohovor, posílá řada společností své výzvy v oblasti kódování prostřednictvím hodnocení Hacker jako součást procesu pohovoru. , takže je dobré se seznámit. Expedia, GE, Goldman Sachs a Optiver abychom jmenovali alespoň některé
  • Téměř všechny funkce (pokud ne všechny) získáte z webu zdarma. U Leetcode bez placeného předplatného existují určité nevýhody.
  • Například nemůžete vždy své řešení odeslat hned, a to kvůli tomu, jak toto řešení spustí, aby se postavilo proti všem ostatním řešením.
  • Téměř všechna prohlášení o problému obsahují příklady 1 nebo 2 testovacích případů a odpovědí a docela důkladné vysvětlení, proč je odpověď taková, jaká je. To je u Leetcode mnohem méně běžné.
  • Každá otázka zveřejněná na Hackerranku má ověřené řešení na kartě „Redakční“. Ne každá otázka týkající se Leetcode má jednu (odpověď na obou platformách byste však mohli snadno získat kliknutím na kartu „diskuse“)
  • Oba weby mají před odesláním viditelný testovací případ, ve kterém je možné spustit váš kód. Hackerrank dělá docela dobrou práci, když dělá tyto viditelné běžnými případy, zatímco Leetcode téměř vždy používá hranový případ pro viditelný test.
  • Hackerrack má vazby vim! (Pokud se tím zabýváte)

Silné stránky Leetcode

  • Na Leetcode se mi líbí něco, že mají přímá věcná vyjádření problému. Hackerrank má tendenci mít trochu zdlouhavé úvody a vypracované scénáře, které maskují skutečný úkol.
  • Například: Hackerrank může vypadat jako „Sally miluje čokoládu, ale pouze chce jíst čokoládu s nejnižším množstvím sodíku. Vzhledem k řadě hladin sodíku vraťte nejnižší čokoládu s nejnižším obsahem sodíku.
  • Ekvivalent Leetcode by byl „ Vzhledem k řadě celých čísel vraťte prvek min ”
  • Hackerrank i Leetcode porovnávají náklady na běh vašeho algoritmu načasováním řešení s testovacími případy. Jakmile však bude vaše řešení schváleno, zobrazí se proti všem schváleným řešením ve stejném programovacím jazyce a procentuálnímu podílu počtu řešení, která jste porazili kvůli rychlosti.
  • Testovací prostředí je mnohem lepší. Když zadáte vlastní testovací případ, spustí se také správné řešení, abyste mohli okamžitě zjistit, zda máte pravdu nebo špatně.Spuštění vlastního testovacího případu na Hackerranku spustí pouze vaše řešení.
  • Další věc, kterou mám rád, je, že u každého problému vyžaduje kódovací rozhraní pouze práci s nějakým předdefinovaným podpisem funkce. V Hackerranku musíte často zpracovávat vstup / výstup a spouští porovnávání řetězců k ověření odpovědi, což může být trochu nepříjemné
  • Vážně … proč bych měl tisknout „ANO“ nebo „ NE “, když rychlejším ekvivalentem je pouze udržování booleovského objektu?
  • Leetcode má tuto fantazijní „ Otázka byla položena společností X s frekvencí Y\% “, , ke kterému máte přístup pomocí předplatného. Osobně si myslím, že tento nástroj není tak užitečný, a vytváří falešný dojem, že si lidé mohou všechny tyto konkrétní otázky zapamatovat, jakmile získají rozhovor se společností X.

Osobně se mi LeetCode líbí lépe a nakonec záleží na tom, k čemu je používáte.

Zřeknutí se : Toto jsou moje názory na to, jaké silné stránky a slabosti jsou. Někteří lidé si mohou myslet, že slabost je ve skutečnosti síla a naopak.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *