Skip to main content


Showing posts from July 30, 2017

Problem Solving Checklist

Clarifying QuestionsAsk clarifying questions to make sure you understand the scope of the problem so that you'll be solving the right problem. The interviewer may be testing you to see if you know how to gather requirements and communicate. Don't rush into coding and risk solving the wrong problem or missing the interviewer's point. This is your chance to shine, to show the interviewer that you can communicate well and get to the heart of problems. Identify Pattern Identify patterns: does this problem look like a search, dynamic programming, graph, or sorting problem? Don't have to tell your interviewer. This step is for yourself. Examples and Test Cases Come up with examples and test cases. This will make the problem concrete and provide test cases with which you will test your solution later on.Brainstorm Approaches Come up with 2-3 approaches and briefly run them by the interviewer but don't write up any code yet. If you need some time to come up with the optim…

Data Structures: Stack and Queues

In the last session, we went over some basic stack and queue concepts. Stacks and queues are abstract data types meaning that they declare an interface of functions to manipulate but not the underlying implementation. Stacks are Last in first out (lifo): the last inserted (pushed) element will be the first to be extracted (popped). A stack implementation should define two operations: stack.push(element_type x) and element_type stack.pop(). Think of a stack of dishes in a buffet. You can push new plates onto the stack but when you grab a plate from the stack, it will be the last plate that was pushed onto it. Some variants of stacks will have three functions: push(element_type x), void pop(), and element_type peek() where the role of pop() is split into a function that returns the value but does not remove that element from the stack and one that just removes the element from the stack. A queue is first-in-first-out (fifo) data structure with functions: queue.enqueue(element_type x) a…

Chicago Tech Jobs - August, Part 1

For August, there are a few new opportunities and some companies continuing to hire. This is part 1 of 2. Skip to part 2.
Workiva Boulder, Denver, Scottsdale, Chicago, Bozeman, Missoula, Ames, Amsterdam | Onsite |
About: Workiva is a growing SaaS company headquartered in Ames, IA with offices in 16 different locations. Workiva developed Wdesk, an all in one platform that simplifies complex collaboration while keeping data in sync, thus reducing risk. Thousands of organizations, including over 70% of the 500 largest U.S. corporations by total revenue, use Wdesk. Openings: * Software Engineer / Sr. Software Engineer (Ames, Bozeman, Boulder, Denver) * Site Reliability Engineer (Ames, Amsterdam, Chicago, Bozeman) * Software Development Engineer in Test (Bozeman) * Quality Assurance Analyst (Ames, Bozeman)
Technologies: Javascript/Golang/Dart/React/HTML5/Python/Clojure/Elm
Tech Blog: GitHub:
AddStructure A…