Page 1 of 1

What "strong C++ skills" means?

Posted: June 1st, 2007, 1:47 pm
by MaddoG
Hi all,Reading job offers I wander what exactly “strong C++ skills” means? Being fluent in OO programming is enough or you need to know much more? Design Patterns? Something else? What is your experience on it? I’m asking because I’m working as Quant in Investment Bank and want to move to more QA development team. Few years ago I used to program in C++, but right now I only use already implemented models a code some simple staff in VBA.TIA,K

What "strong C++ skills" means?

Posted: June 1st, 2007, 2:40 pm
by samyonez
my experience from recent interviews of what is expected from someone who advertises themselves as having "strong" c++...knowing your way around STL is a must; containers (which to use when &how they are implemented), iterators (const vs non const etc), algorithms, writing functors for use in STL algorithms.Also know about Boost libraries and perhaps Loki.of course basic OO concepts (encapsulation, inheritance, polymorphism, when to use inheritance versus containment); common question in interviews are to look at a class hierarchy of 2 or three levels with various overloaded and overriden functions, and an example main() function, & ask which function will be called, or how many times each constructor is called.multithreading experience or at very least knowledge of what the concepts are (race condition, mutex, semaphore etc)templates (traits, policy classes etc)design patterns (how to implement a singleton seems a common interview question, although of debatable importance; perhaps this is because it's a design pattern question that fits in interview timeframe)General concepts/idioms to understand & be aware of; Exception safety, const correctness, Resource Acquisition Is Inititialisation, reference counting, handle/body idiom, things like this.

What "strong C++ skills" means?

Posted: June 1st, 2007, 2:50 pm
by UVAstudent
is there any way of showing one's skill in C++, especially if one comes from an educational institution, for example, some certification that is widely recognized in the financial service industry or is the only way to show one's skill by talking on previous projects using C++.

What "strong C++ skills" means?

Posted: June 1st, 2007, 4:05 pm
by Cuchulainn
Quotehow to implement a singleton seems a common interview question, although of debatable importanceHaving a Singleton is like having a GLOBAL DATA (like in COBOL). Hard to maintain and is buggy. BTW the implementation of Singleton in GOF has a memory leak There are zillions of people on the Internet who have an improved Singleton.PLan B: instead of Singleton, just use a static object in the main(). It works and no fuss.I once saw an app in one domain with 7000 classes AND 600 Singletons, each one from a completely different class.The really useful patterns that I have seen are Visitor, Composite, Bridge and Strategy. These patterns allow you to extend functionality.A robust pattern is Builder (it manages all those singletons). It promotes reliability (memory problems)

What "strong C++ skills" means?

Posted: June 1st, 2007, 4:33 pm
by twofish
QuoteOriginally posted by: UVAstudentis there any way of showing one's skill in C++, especially if one comes from an educational institution, for example, some certification that is widely recognized in the financial service industry or is the only way to show one's skill by talking on previous projects using C++.1) No, in part because the fields changes so quickly.2) Generally the quantatiative interview will have a number of questions and the amount of time you've spend on previous projects will help you answer those questions. There are a number of standard C++ textbooks for practitioners "C++ Gotchas", "Large Scale Programming in C++" "Using the Standard Template Library" "Effective C++: 50 Ways to improve your coding" "More Effective C++" (the Wiley and Addison-Wesley series for books), and being familar with those would be useful for a quant interview.

What "strong C++ skills" means?

Posted: June 1st, 2007, 8:08 pm
by DominicConnor
I'm not with Cuch on thuis one. I see singletons as ways of managing objects who lifetimes don't naturally match those of function calls.Sadly that comes with global visibility, but the payload is having things live and die when you want them to.I'd add Exceptional C++ and More Exception C++ by Sutter to the reading list.As for newbies, I don't see the point of a certification for C++, because almost no newbies are halfway competent in programming.

What "strong C++ skills" means?

Posted: June 1st, 2007, 8:26 pm
by Cuchulainn
QuoteI see singletons as ways of managing objects who lifetimes don't naturally match those of function calls.The rationale for having objects as you mention is clear to me. It's just that promoting it to the status of a pattern is overkill. There are many roads to Rome.QuoteAs for newbies, I don't see the point of a certification for C++, because almost no newbies are halfway competent in programming. I agree. Being certified means you passed the exams, and no more. The best way to learn C++ is to write code for a project you are interested in.