Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > What book should I study before a new job.

Reply
Thread Tools

What book should I study before a new job.

 
 
opistobranchia
Guest
Posts: n/a
 
      08-14-2005
I know this gets asked all the time but.....
I am a fresh grad. I have taken a year of java and 1/2 year of C++ and
OO Design and Analysis. I have strong Java skills and I have done
projects in c++. But I am pretty sure that I am getting this job as a
java/C++ software engineer. I want to put out a good impression since
it is with a real good company and a great opportunity for me with
real smart people. What book do you rec. that I study before?

I am currently reading C++ Gotchas: Avoiding Common Problems in Coding
and Design.

Thanks, looking forward to your replies.
 
Reply With Quote
 
 
 
 
benben
Guest
Posts: n/a
 
      08-14-2005
Congret for your job you found! Which company is that if you don't mind
telling us?

For coding and design, I surely learnt a lot from Code Complete 2nd Ed.

For avoiding writing Java in the (More) Effective C++/STL are very helpful
(any a joy to read).

For a lot of random (but valuable) articles get a load of C++ Users Journals
(prolly can be found in local library...).


 
Reply With Quote
 
 
 
 
Gianni Mariani
Guest
Posts: n/a
 
      08-14-2005
opistobranchia wrote:
> I know this gets asked all the time but.....
> I am a fresh grad. I have taken a year of java and 1/2 year of C++ and
> OO Design and Analysis. I have strong Java skills and I have done
> projects in c++. But I am pretty sure that I am getting this job as a
> java/C++ software engineer. I want to put out a good impression since
> it is with a real good company and a great opportunity for me with
> real smart people. What book do you rec. that I study before?
>
> I am currently reading C++ Gotchas: Avoiding Common Problems in Coding
> and Design.


When I interview, I look for a solid basic understanding of sofware
development in these areas.

1. Basic computer science
2. Experience with collaboration tools (CVS, subversion)
3. Build experience (make, ant etc)
4. Knowledge of some standard libraries and tools
5. Evidence of "passion" for software development

As for basic computer science, there are a number of very basic things
that very unfortunately, many programmers just don't know.

e.g.
a)
int * p;

what is (p+1) ?

b) ( !a && !b ) == !( a || b )

c) System design issues - reference counted objects and cyclic reference
counts.

d) What is a sufficient condition for susceptability to deadlock.

etc etc
 
Reply With Quote
 
opistobranchia
Guest
Posts: n/a
 
      08-14-2005
On Sun, 14 Aug 2005 09:59:07 -0700, Gianni Mariani
<> wrote:

>opistobranchia wrote:
>> I know this gets asked all the time but.....
>> I am a fresh grad. I have taken a year of java and 1/2 year of C++ and
>> OO Design and Analysis. I have strong Java skills and I have done
>> projects in c++. But I am pretty sure that I am getting this job as a
>> java/C++ software engineer. I want to put out a good impression since
>> it is with a real good company and a great opportunity for me with
>> real smart people. What book do you rec. that I study before?
>>
>> I am currently reading C++ Gotchas: Avoiding Common Problems in Coding
>> and Design.

>
>When I interview, I look for a solid basic understanding of sofware
>development in these areas.
>
>1. Basic computer science

They did that
>2. Experience with collaboration tools (CVS, subversion)

Got CVS export/import checkout tagging and branching
>3. Build experience (make, ant etc)

Both but ant usually done for me by IDE in java. Used make before but
would only know real basic questions. I will review that too before.
>4. Knowledge of some standard libraries and tools

I know iterator, list, stack, string, vector sstream off the top. But
will review this as well.
>5. Evidence of "passion" for software development
>

That is me, and I let them know that.
>As for basic computer science, there are a number of very basic things
>that very unfortunately, many programmers just don't know.
>
>e.g.
>a)
> int * p;
>
> what is (p+1) ?
>

This is an error since p does not point to anything, it must point to
something first. However is p pointed to an array int object then it
would now point to the next item in the array.
>b) ( !a && !b ) == !( a || b )
>

This is demorgans law. We can use boolean algebra or a truth table to
show that they are both equal
>c) System design issues - reference counted objects and cyclic reference
>counts.
>

Used for garbage collecting. When keep track of the total references
to a object. When the count is zero it is ready to be deleted. Cylic
reference count is the count of a ref b and also b ref a.
>d) What is a sufficient condition for susceptability to deadlock.
>

Threada has a lock on resource1, and is waiting on resource2 before it
releases its lock on resource1. Threadb has a lock on resource2 and
is waiting for threada or is waiting on resource1 before is releases
resource2. =Deadlock since everybody needs the other to finish
>etc etc


Would that be good? Do you have some more interview questions?

Thanks for the tips on the books too. I am liking Effective C++ Third
Edition 55 Specific Ways to Improve Your Programs and Designs. I also
subcribe to C++ users journals so I have the last 2 years laying
around. That is good to know, I will start reading more of the
articles.

 
Reply With Quote
 
Gianni Mariani
Guest
Posts: n/a
 
      08-14-2005
opistobranchia wrote:
....
>
>>5. Evidence of "passion" for software development
>>

>
> That is me, and I let them know that.


I'd be looking for evidence: i.e Did you write any open source code ?
Are you a member of an open source project? Have you filed any bugs on
open source projects ? Do you have any pet project you have worked on ?
Have you answered any questions on comp.lang.c++ ? Do you attend ACCU
meetings (or other associations or UGs) ? Which journals do you read ?

>
>>As for basic computer science, there are a number of very basic things
>>that very unfortunately, many programmers just don't know.
>>
>>e.g.
>>a)
>> int * p;
>>
>> what is (p+1) ?
>>

>
> This is an error since p does not point to anything, it must point to
> something first. However is p pointed to an array int object then it
> would now point to the next item in the array.


50% of people I interview (phone screen) do not know that.

>
>>b) ( !a && !b ) == !( a || b )
>>

>
> This is demorgans law. We can use boolean algebra or a truth table to
> show that they are both equal


Sure, I'm still astounded to see lots of code that looks like :

if ( !( !a && !b ) ) .... // some of which I wrote myself (

>
>>c) System design issues - reference counted objects and cyclic reference
>>counts.
>>

>
> Used for garbage collecting. When keep track of the total references
> to a object. When the count is zero it is ready to be deleted. Cylic
> reference count is the count of a ref b and also b ref a.


So what happens when there is a cyclic reference using reference counts?

>
>>d) What is a sufficient condition for susceptability to deadlock.
>>

>
> Threada has a lock on resource1, and is waiting on resource2 before it
> releases its lock on resource1. Threadb has a lock on resource2 and
> is waiting for threada or is waiting on resource1 before is releases
> resource2. =Deadlock since everybody needs the other to finish


d) What is the minimum sufficient condition for susceptability to deadlock.

I mis-wrote that - the *minimum* sufficient condition. You wrote a
single condition. Or said in another way: "If I have N resources and T
threads, what do I have to guarentee *not to do* to avoid any
possibility of deadlock."


>
>>etc etc

>
>
> Would that be good? Do you have some more interview questions?


Not handy. There are plenty of web sites - some of them have very very
poor questions (where some of the questions are plain wrong). Actually,
the FAQ for comp.lang.c++ is excellent.

>
> Thanks for the tips on the books too. I am liking Effective C++ Third
> Edition 55 Specific Ways to Improve Your Programs and Designs. I also
> subcribe to C++ users journals so I have the last 2 years laying
> around. That is good to know, I will start reading more of the
> articles.
>


Good luck !

 
Reply With Quote
 
Earl Purple
Guest
Posts: n/a
 
      08-15-2005

Gianni Mariani wrote:

> I'd be looking for evidence: i.e Did you write any open source code ?
> Are you a member of an open source project? Have you filed any bugs on
> open source projects ? Do you have any pet project you have worked on ?
> Have you answered any questions on comp.lang.c++ ? Do you attend ACCU
> meetings (or other associations or UGs) ? Which journals do you read ?


You sound like one who is overly strict and would never have given
yourself your first job. It does, of course, depend on the role you are
recruiting for but you seem to expect too much.

By the way, I have never taken part in any formal open-source project
that I have posted code for general use and answered many questions
here and on CodeGuru.

I don't subscribe to any journals.

> So what happens when there is a cyclic reference using reference counts?


Then of course your reference counting will never go down to 0 and
you'll get leaks. It's good design that will ensure that does not
happen. Good design does not mean having played with the right CASE
tool for the sufficient amount of time. It means having brains and
using them.

> d) What is the minimum sufficient condition for susceptability to deadlock.
>
> I mis-wrote that - the *minimum* sufficient condition. You wrote a
> single condition. Or said in another way: "If I have N resources and T
> threads, what do I have to guarentee *not to do* to avoid any
> possibility of deadlock."


Again, good design. It's easy enough to say you must obtain resource A
before B etc. You can possibly even enforce that. You should implement
RAII properly.

But if the interviewee doesn't know what RAII means then prompt him
because he may have been using it perfectly for years without using its
name. I have failed many interviews for not knowing the flashy names
for techniques I have been using for years (particularly design
patterns).

> Not handy. There are plenty of web sites - some of them have very very
> poor questions (where some of the questions are plain wrong). Actually,
> the FAQ for comp.lang.c++ is excellent.


Yes and I know it very well. Perhaps I should subscribe to the journals
too. Though jobs that require C++ and little else are few and far
beyond.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
should I put old or new style classes in my book? allendowney@gmail.com Python 10 05-30-2008 08:00 PM
Allitcertkiller.com study guides are better than Realexamquestions.com study guides loyola Microsoft Certification 39 07-21-2006 03:12 AM
Allitcertkiller.com study guides are better than Realexamquestions.com study guides loyola Microsoft Certification 0 06-26-2006 03:25 PM
Allitcertkiller.com study guides are better than Realexamquestions.com study guides loyola Microsoft Certification 0 06-26-2006 03:25 PM
Allitcertkiller.com study guides are better than Realexamquestions.com study guides loyola Microsoft Certification 0 06-26-2006 03:24 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57