And my quote isn’t about Elixir either. In this post I tried to describe it as much as it is possible how total newbie could work through the process. Does it require some knowledge? Yes. Does this require Elixir specific knowledge? No.
Tries aren’t specific to Elixir. Flow and GenStage are more Elixir specific, but aren’t required by this task either. Mentioning them would be nice addition, not requirement.
From what you describe, it feels like both sides failed at the communication.
It seems like huge problem. They should explain you what you have done wrong. I already see some problems, for example that you have asked on forum instead of asking the interviewer directly. This is huge problem on both sides, as they should mark directly to ask them, and you shouldn’t ask about interview tasks in public, because it will make that solution not “yours”.
I believe that this was the case, however you have focused too much on how to solve first problem instead of even mocking it (as you didn’t know how to solve that) and solve rest of the problem. If they know that your knowledge of Elixir can be lacking, then this shouldn’t be a problem.
So next time, instead of tackling the problem as a whole, try to tackle them part by part, and “mock” the parts you do not know how to handle. To give you example from my experience:
During my studies I have subject where in the exam we were supposed to write sorting algorithm in Prolog (that will sort complex data in custom order). And it was 100% sure that there will be sorting. So what I have done? Learned by heart sorting predicate that use custom predicate to sort data. Now instead of figuring out whole sorting and comparing data, all I needed to figure out was comparison algorithm. My final program almost worked, it was looping through possible “solutions”, because there was missing
! somewhere (it is backtracing barrier). While my solution wasn’t perfect, I still have passed with A- because I solved most of the problem.
Whole idea of interview tasks is not to solve the problem, because no one give a damn about it TBH, it is about showing how you are thinking. Pseudo-code solution is better than no solution. Even no-code solution, where you describe ideas behind the steps you would take is better than nothing. Instead you have “spent the first hour just trying to figure out the IO api”. This is ⅓ of the whole time on something such trivial. Any “Hello World” example would give you basic example how it work.
Also top of the search results when we enter
word counting elixir are:
End Exercism example even does it case-insensitively.
So as you know that you will have Elixir-based task on the interview, then it would be worth to at least see some tutorials as this is literally lesson 2 on Alchemist Camp and one of the easy tasks on Exercism.io.
And almost only thing you need to do to accommodate these solution to your situation is to add grouping words, to count them by 3, not individually.
So if you didn’t have heart to prepare yourself to the interview then maybe they didn’t care. You didn’t show respect for them, so they responded with the same.