Firecode - Ace the Coding Interview |
Written by Nikos Vaggalis | |||
Monday, 27 June 2016 | |||
Another code learning platform, in this case focused on preparing candidates for a job interview that involves writing code. What's different about it? Let's find out. After signing up, you have to choose the language you'll be working with. Only Java,C or Python are currently available, but the platform has immediate plans for beefing up its range of supported languages. Then you work through a mini series of questions in order to gauge your current knowledge and skills and establish an entry level for training and assessment best suited to your experience and knowledge. For example, choosing Java brings up the following:
and a couple more. The questions are uniform across all languages, and are neither tricky nor difficult to answer; you just know the answer or you don't. The engine then assigns a level ranging from 1 (novice) to 5 (expert), and calibrates the study material accordingly. You are, however, free to manually override the Level assigned or Language chosen from within the dashboard. The dashboard has everything that you need to know concentrated in one screen; the level you are currently in, how many problems have been solved and how many are remaining, how many minutes per week you spend practising, and other helpful statistics that keep you on track.
The Work Environment At this point I have to say that Fircode's IDE environment stands out from the rest. First of all it has the workspace and its informational panels well placed and organized. In the usability scale it scores 'A++' due to its customizable interface which sports features that you would think only a offline IDE could support. As such it incorporates autocompletion, notes taking, zooming in and out, changing the theme, as well as a collapsible console area. Learning aids are plentiful too. Each level has a number of problems to solve. For example Level 1 has 18 problems that must be completed for making it through to the next level. The way it works is that you're presented with a description of the problem at hand such as: "Find the first non-duplicate character in a string. Return null if no unique character is found" and a few lines demonstrating what the expected result should be given a set of input values: firstNonRepeatedCharacter( "abcdcd" ) --> 'a' The coding workspace contains the declaration of the function which you have to implement for solving the problem, in this case: public static Character firstNonRepeatedCharacter(String str){ } If you feel confident that you know the answer and don't want to waste time typing a solution just to get it over with and progress to the next level, you can press 'I know this'', which will let you progress to the next next one, marking it as not complete. If on the other hand you need some help, some is available as a single hint : Maintain the count of all the different characters from the input and then check if there is a character with a count of one If it still doesn't "click" you can take a peek at the steps necessary:
Where things are still not clear you may then press the "See answer and Skip" button which will reveal the answer in the form of a complete code listing : public static Character firstNonRepeatedCharacter(String str) { HashMap<Character, Integer> characterhashtable = int i, length; Character c; length = str.length(); // Scan string and build hash table for (i = 0; i < length; i++) { c = str.charAt(i); if (characterhashtable.containsKey(c)) { // Increment count corresponding to c characterhashtable.put(c, characterhashtable.get(c) + 1); } else { characterhashtable.put(c, 1); } } // Search character hashtable in order of string str for (i = 0; i < length; i++) { c = str.charAt(i); if (characterhashtable.get(c) == 1) return c; } return null; }
If on the other hand you want to take a shot at it, feel free to start typing some code, an action that will trigger the autocomplete feature which saves both keystrokes and time otherwise spent in navigating through the available framework classes to locate the pieces necessary for the completing the exercise. Whether you complete the exercise by doing it or by skipping it, you are then confronted with something very interesting: Take a break! This is a refreshing example of incorporating ergonomics into the standard workflow, surely a trend that needs to be established.
Solving problems continues until you complete all 136 of them (the sum of all levels), at which point you are deemed "ready" and with enhanced probabilities of acing that crucial interview. So, I would say that Firecode does make a difference. It's a well structured and organized platform driven by usability and ergonomics, packing the extra advantage of being entirely targeted to a very specific group. It's a meeting place of like minded people who know exactly what to look for and the willpower to achieve it; in this case that's pursuing the challenge to the end. As such Firecode should enjoy a high user retention rate, something that benefits both the platform and its users as it prompts it to be quick on its feet, continuously improving and finding new ways to advance its user experience. One example, is the introduction of a new feature, Firedocs, which brings up the documentation when clicking on the most common methods and class structures from within the IDE, as well as the Solution Overflow in which you help your fellow interviewees by voting and commenting on solutions, à la StackOverflow. Firecode is currently in beta and still free. There's no news on whether and when it will start charging, so it might be a good idea to create an account now. More InformationRelated ArticlesHackerRank - Advance Your Coding Through Problem Solving FreeCodeCamp - Not Just A Bootcamp Hacksplaining - Learn Through Hacking Skillset - Pass Your Certification Exam CodeSchool - The Sequel to SQL
To be informed about new articles on I Programmer, sign up for our weekly newsletter,subscribe to the RSS feed and follow us on, Twitter, Facebook, Google+ or Linkedin.
Comments
or email your comment to: comments@i-programmer.info
|
|||
Last Updated ( Monday, 27 June 2016 ) |