APB9785

APB9785 OP

Creator of ECSx

As far as I know, there hasn’t been any official announcement of this, but over the past week or so, Leetcode.com has been rolling out support for Elixir, Erlang, and Racket. At this point almost all of the popular questions accept Elixir solutions. A couple things I’ve noticed:

  • The editor needs some fixing in Elixir mode - the autoindentation seems especially broken, inserting tons of extra whitespace
  • For the linked list questions, custom ListNode structs are used, instead of standard Elixir Lists.

I’m wondering what others in the community think about this. Have you ever had to solve Leetcode problems for an interview? Do you think interviewers will start using Leetcode for Elixir positions?

First 10 of 11 Posts Switch mode

Aetherus

Aetherus

Many questions that require mutation are extremely hard to solve in Erlang/Elixir (because in many cases you need to use some sort of a zipper).

Questions involving backtracking are very easy to implement in Erlang/Elixir due to immutability and the underlying optimization toward immutable data structures, but dynamic programming questions are usually harder to solve.

There’s no stack overflow in Erlang/Elixir, even for very deep body recursions.

stevensonmt

stevensonmt

This is super cool!

ryanzidago

ryanzidago

Really cool to see more functional languages being used in such coding platforms. I think it’ll force me to think more about immutability, recursion, and pattern-matching. It’s a different kind a programming that what I do professionally. Before solving some of those coding challenges, I’ve never thought about recursively updating a struct at work like this :thinking:.

I already solved some easy questions, I really like to use and abuse pattern-matching for answering (here for example :smiling_imp:) but as @Aetherus mentioned, many questions still require mutability :man_shrugging:

Anyone has some good resources to recommend to learn data structures and algorithms with a functional programming language?

APB9785

APB9785 OP

Creator of ECSx

I recommend trying Advent of Code with Elixir (or other FP language)

kanishka

kanishka

Whenever I start a new language, I usually do some exercises online in Hackerrank to work up basic speed.

I noticed that hackerrank is awful for elixir currently. Some people mentioned exercism instead. Can someone provide a very rough indicator of the top three sites that have ready made exercises with tests that have decent elixir support? Thanks!

(On an unrelated note, good riddance to golang and doing any more interview code screens with golang for hopefully a very long time.)

APB9785

APB9785 OP

Creator of ECSx

Exercism is great - imo this is the best place to start. It ensures that you learn not only the Elixir language but also Functional Programming concepts which are especially important if you are coming from OOP. The best part of Exercism is that you get real code review from the mentors on each exercise.

Advent of Code is a great place to sharpen your skills after you’ve got the fundamentals under your belt. These will really push the boundaries of your Elixir understanding. Finishing all 25 levels is quite an accomplishment.

Honorable mention for Codewars, but it’s not really on the same level as the aforementioned duo. I guess leetcode is in the same boat now too, but I haven’t tried it myself.

kanishka

kanishka

I will go with exercism for now.

My goals are slightly different. I know typed and untyped FP very well. I will use the platform to quickly jump into short exercises multiple times a day in between other tasks. I am not looking for any real challenges or hard problems, just very easy problems that I can repeatedly solve and build up speed in typing out elixir code snippets that are functionally correct. I don’t want any human feedback, just some automated tests with red/green.

dimitarvp

dimitarvp

Exercism gives you test suites already baked when you download an exercise. The human feedback is mostly for coding style, efficiency, number of lines etc. – to improve upon the final solution. The tests you can and should use before that.

kanishka

kanishka

I like it so far. I am using in browser editor to minimize time to start exercises.

The exercise descriptions are a little wordy, but I can get over that.

kanishka

kanishka

Continuing to enjoy exercism. I love the graphical diagram of concepts. I wish the exercises didn’t bother with any context and just presented a short description, inputs and outputs.

After I finish exercism, is there anything similar where I can do short execises inside of a browser with provided tests for using Phoenix for implementing APIs?

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 91898 914
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
AstonJ
Just a general thread to post chat/news/info relating to AI/ML stuff that may be relevant for Nx now or in the future. Got anything to sh...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
mudasobwa
While I am working on the Language Agnostic Code Audit SaaS, which uses MetaAST (spoiler: I am expecting it to be in a good shape for ann...
New

We're in Beta

About us Mission Statement