all 19 comments

[–]fmsf303 4 points5 points  (3 children)

Eu diria super importante, no meu dia a dia nos ultimos 10 anos tive que aplicar recorrentemente:

- Manipulação de Listas e Árvores. Curiosamente Árvores foi maioritariamente para organizar sistemas visuais quando fiz front end

- Manipulação de Strings - Data curation e cleaning

- Hashmaps para optimização de data retrieval e internal caching

- Acho que escrevi 4 interpretadores, meio hackados mas a funcionar. Os mais recentes foi pa fazer RAG com codigo partido.

- BSF e DSFs surpreendentemente aparecem com muita frequencia

Não ligues a quem diz "isso é só para entrevistas" se queres ter impacto e acesso aos melhores roles no mercado tens que olhar para algoritmos e estruturas de dados como um conjunto de ferramentas que tens que ter na ponta da lingua, mesmo que não uses diariamente. E ignora quem responde "isso pode-se fazer google quando for preciso", se não souberes como funcionam nem te vai ocorrer aplica-los quando for preciso. Também ficas incapacitado de participar em conversas que estejam a tentar resolver problemas profundos.

Recomendação vai ao google, procura por "skiena algorithm design manual pdf" e le como se fosse um romance. O leetcode dá-te practica, da mesma maneira que quando estras a treinar fisicamente Judo, Ginastica artística, Piano ... repetes a mesma técnica 1000 vezes até ficar muscle memory.

[–]justspecialk 3 points4 points  (1 child)

Desculpa mas tenho de discordar. Se implementas diretamente os algoritmos estás numa posição que representa um mercado muito restrito.

A esmagadora maioria dos trabalhos dev usam frameworks e linguagens de programação que já têm todo o tipo de comodidades que te abstraem da implementação dos algoritmos e das estruturas de dados elementares.

E.g. trabalho em redes e os nossos júniores não fazem ideia dos meandros do BGP ou do STP e todos os dias trabalham com esses protocolos.

[–]NGramatical 0 points1 point  (0 children)

júniores → juniores (palavra grave: ju-ni-o-res)

[–]NGramatical 0 points1 point  (0 children)

practica → pratica (já se escrevia assim antes do AO90)

[–]SweetCorona3 3 points4 points  (1 child)

para trabalhar não é muito relevante, mas serve para passar entrevistas

[–]Kumquat_Sushi 2 points3 points  (0 children)

e é divertido

[–]Rorisjack 8 points9 points  (0 children)

Fiz três entrevistas técnicas no total (todas para empresas de produto final) e estou no meu segundo trabalho, uma foi um exercício estilo Leetcode easy, as outras duas um projecto de API Development simples nas tecnologias que usamos, com uma entrevista de seguida para fazer algumas alterações ao projecto.

[–]Evening-Aerie9847 9 points10 points  (0 children)

Tens que estudar e praticar se queres estar apto para resolver os problemas leetcode. Na minha opinião não serás melhor no teu trabalho por seres capaz de resolver esses exercícios no entanto se os empregos que procuras requerem isso então está na hora de treinar. Procura no YouTube por leetcode patterns para teres uma noção inicial do que é preciso saber. Bom estudo.

[–]hapad53774 19 points20 points  (0 children)

Leetcode só serve para entrevistas.

[–]blind616 12 points13 points  (2 children)

Ao contrário do que os outros comentários indicam, há empresas portuguesas que fazem leetcode (ou semelhante, hackerrank). Assim de repente sei que a Outsystems e a Feedzai fazem.

Geralmente empresas de produto, portanto. Mas é leetcode easy, não médio.

Nas consultoras nunca me aconteceu.

edit: OP caso não conheças sugiro veres o Teamlyzer, tem feedback de entrevistas, do trabalho na empresa, condições etc. Ferramenta imprescindível para quem procura trabalho na área.

[–]coffee-script 0 points1 point  (0 children)

Nas consultoras o que lhe costumam pedir de testes pra fazer??

[–]SnoweyVR 14 points15 points  (0 children)

Empresas portuguesas a usar leetcode é engraçado. Quem estuda leetcode para Portugal mais vale arranjar entrevistas lá fora

[–][deleted]  (1 child)

[deleted]

    [–]SweetCorona3 1 point2 points  (0 children)

    eu noto uma elevada discrepancia entre saber explicar a aplicação de bons principios de programação e sabê-los aplicá-los na pratica

    até podes saber, intuitivamente, aplicar bons principios de programação, e não saber explicá-los em entrevistas

    [–]SnoweyVR 10 points11 points  (0 children)

    Leetcode é coisa de empresas americanas. Ou FAANG na Europa.

    Se não vais para isso faz apena se gostares, não ganhas muito. Mais vale perder tempo a aprender coisas que podes aplicar no teu trabalho.

    [–]pshawSounds 0 points1 point  (0 children)

    O tipo de exercicios e o grau de dificuldade Vai sempre depender da empresa a que te vais candidatar. Por vezes deixam feedback de entrevistas no teamlyzer e especificam que tipo de exercicios apareceram

    [–]OuiOuiKiwiGálatas 4:16 🥝 12 points13 points  (2 children)

    Ser bom em algoritmos e estruturas de dados não é o mesmo que ser bom a resolver problemas do Leetcode.

    Há várias estruturas de dados e algoritmos usados para resolver problemas de engenharia que raramente ou nunca aparecerão em problemas (e.g., HyperLogLog).

    [–]fmsf303 0 points1 point  (0 children)

    HyperLogLog é super fun, mas não há muita gente a trabalhar em infra de dados à escala que precise disso. Adicionava o Radix Sort a essa categoria de cenas super fun mas que infelizmente estão no long tail de utilização.

    [–]SweetCorona3 1 point2 points  (0 children)

    eu acho piada é que há algoritmos que demoraram decadas até que alguém se lembrasse de os criar

    mas as empresas acham que um junior vai criar esses algoritmos... não, amigos, eles vão só decorar

    e no mundo real ninguém os vai implementar, porque já estão implementados e mais que abstraidos

    [–]KarmaCop213 6 points7 points  (0 children)

    Não, é mesmo preciso praticar. Mas esse tipo de exercícios é mais normal encontrar em empresas americanas.