In every interview I have been in, I have been quizzed on mathematical analysis of complexity, including big-O notation.

How relevant is big-O analysis to development in industry? How often do you really use it, and how necessary is it to have a honed mindset for the problem?


  My question is, how relevant is this test to development in industry? 


A solid understanding of computational complexity theory (e.g. big O notation) is essential to design scalable algorithms, applications and systems.  Since scalability is highly relevant to computing in industry, big O notation is too.


  How often do you reeeally use it, and how necessary is it to have a honed mindset for the problem?


Depends what you mean by "reeeally use it".  On the one hand, I never do formal proofs of computational complexity for the software I write.  On the other hand, most days I have to deal with applications where scalability is a potential concern, and design decisions include selection of (for example) appropriate collection types based on their complexity characteristics.

(I don't know whether it is possible to consistently implement scalable systems without a solid understanding of complexity theory.  I would be inclined to think that it is not.)
