Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What are some good math concepts to review for a software engineering interview? The position is not expected to be particularly math heavy, i.e graphics programming, but I imagine refreshing on some math concepts would help going into an interview for a high caliber company.

The more specific the better. Thanks in advance!

share|improve this question

closed as off-topic by MichaelT, jwenting, GlenH7, Bart van Ingen Schenau, gnat Jun 16 '14 at 10:11

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, jwenting, GlenH7, gnat
If this question can be reworded to fit the rules in the help center, please edit the question.

Concrete mathematics and discrete math, basically. –  Robert Harvey Jul 14 '11 at 4:18
some people like to ask probability questions. –  Kevin Jul 14 '11 at 5:38
What domain is the company that you're interviewing in? Sometimes that can affect the specific math topics that you might want to review.. –  Demian Brecht Jul 14 '11 at 6:54
A company like Google for example –  lucks Jul 14 '11 at 17:11
@lucks: "Google" is a company having jobs in a lot of different domains. For example, a domain like "search engine building" I would suggest to ask different questions as for "graphics programming". For graphics programming, go with Rook's answer, the other answers seems completely to miss that point of your question. –  Doc Brown Sep 22 '11 at 5:58

4 Answers 4

Vector calculus, matrices, plane geometry (not sure if this is the exact term in english schools), basics of numerical analysis ...

This book might be useful (at least check the table of contents from Amazon).

Mathematics for 3D Game Programming & Computer Graphics.

Mathematics for 3D Game Programming & Computer Graphics

Edit: Quite a bit of it is available on Google books site.

share|improve this answer

For general software development jobs, you should read up on brain teasers and understanding the basics of probability and counting (not the 1,2,3,4... kind!). Other than that, most programming interviews are more focused on how well you know concepts and how you go about solving problems as opposed to specific math concepts.

Nonetheless, certain types of programming jobs require you to have a solid math foundation. For example, if you're going to be doing game or graphics programming, then you need to know linear algebra very, very well. Jobs in cryptography, high performance computing, and fields like that all require a solid math background in specific areas (graph theory, etc).

Lastly, if you find your interviewer asking you lots of technical math questions and you're not sure about most of them, odds are that the job requires far more math than you think. Usually these positions make it very obvious that you need a specific background, so watch out for those.

For general programming jobs though, you won't need to know lots of math in depth. Know probability, basic number theory, some geometry, understand some concepts in graph theory, and you should be good to go.

share|improve this answer
I'm a game programmer and have no knowledge of linear algebra. Most of the problems I solve in inherit with C/C++ API piping and programmers making mistakes or tracing down content and technology problems. –  Chad Aug 8 '11 at 2:50
@Chad: even you say you are a games programmer, I bet you don't have to implement a lot of 3D graphics code. –  Doc Brown Sep 22 '11 at 5:57
@Doc That is correct. There are guys in our office that I'm absolutly amazed at what they can do. –  Chad Sep 22 '11 at 14:51

Not to forget about Graphs. In case you face a problem which you haven't come across before, try to think in terms of graphs. Graph problems are easy to make, difficult to solve and require one to think a lot before reaching the optimal solution.

share|improve this answer

I'd focus on things like Linear Programming, Basic Combinatorics, and Statistics. The reasoning here, is that you said that the post is not likely to be particularly math heavy in the traditional sense (PDEs, Geometric Algebra, Dynamical Systems, etc.). So it would probably behoove you to pay attention instead to math that lets you do good programming on a basic level so logic and combinatorics but also things like Markov Chains and Linear Programming that let you do solid estimations of things like time and cost and the Statistics to follow up on data generated from your performance. Thus, when that MBA who lords over you comes a looking, you can pull out a PowerPoint with all manner of flashy time and cost estimate graphs backed up by a mountain of variably correct statistics.

Graph Theory would probably also help, particularly if you are doing Networking.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.