473,667 Members | 2,589 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

What book should I study before a new job.

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.
Aug 14 '05 #1
5 1364
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...).
Aug 14 '05 #2
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
Aug 14 '05 #3
On Sun, 14 Aug 2005 09:59:07 -0700, Gianni Mariani
<gi*******@mari ani.ws> wrote:
opistobranch ia 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 that2. Experience with collaboration tools (CVS, subversion) Got CVS export/import checkout tagging and branching3. 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 equalc) 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 finishetc 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.

Aug 14 '05 #4
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 !

Aug 14 '05 #5

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.

Aug 15 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
1341
by: Mlaen | last post by:
My goal is to learn DirectX & OpenGL programming but I'm not in hurry and just haf finished the basic... My question is what should I learn next...Perhaps read some book about OOP programing or something like that before OpenGL... How did you guys learned direcX & opengl (those of you who did...), how did you start? Any advise is helpful! Thx! Ps. Sorry for bad english :)
10
1605
by: tu- | last post by:
It is whether although he wants to study about C language, there are any good reference books.
33
2383
by: Jacob Oost | last post by:
Should I get some more general books, like "advanced self-teaching," or can I start on specialized books like "Linux game programming?" Any book recommendations? -- ----- BEGIN GEEK CODE BLOCK ----- Version 3.1 GAT d? !s !a C++++ UL+ P L++ E- W+ N+ o-- K- w-- O- !M !V PS-- PE++ Y+ PGP- t++>++++* 5? !X-- R- tv b++ DI+ D++
18
2257
by: __PPS__ | last post by:
Hello, I'm a university student and I'm preparing for my final today. I'm reading course notes, I found completely strange piece of code. It makes me laugh, I think the teacher needs to prepare herself for this course. so I ask for your point of view. here's the piece of code: Memory management by client!! // Listing 9.4. Memory management by client rather than by server object
3
1583
by: NotGiven | last post by:
I see nothing on the mysql.com site abnout certificaiton for version 5.0 yet there's a book for it (http://www.amazon.com/gp/product/0672328127/qid=1136142424/sr=1-2/ref=sr_1_2/103-0022201-6281410?s=books&v=glance&n=283155) please help me
12
17988
by: Benjamin B. | last post by:
Hi everyone, in this thing I inherited there's a statement like this: a &= ~b; where a is an int and b has been declared this way: const b = 0x0002;
5
1469
by: bubblegirl | last post by:
Hi again, I want to buy Access book for myself for self-study as well as for my client project. Which great Access book that has a really good help me build a great database? I need recommendation if you guys have bought/came across useful & user friendly type of books that i can also have as a reference. I would like to get the ISBN or the title or the author of the book if any of that information is available. Thanks guys
12
10959
by: Darrel | last post by:
I'm still having a hell of a time figuring out this whole SQL Express set up. I finally discovered why I couldn't run the aspnet_regsql...my local sql server wasn't running. I turned that on, and now I can see a list of DBs running locally. However, the .mdf file I have in my app_data folder does NOT appear on this list.
76
4032
by: lorlarz | last post by:
Crockford's JavaScript, The Good Parts (a book review). This shall perhaps be the world's shortest book review (for one of the world's shortests books). I like Douglas Crockford (because I am a crabby old man too; plus he _is_ smart and good).. But, how can he write a book on the good parts of JavaScript and not mention functions that address CSS & DOM? Weird. It's like
0
8457
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8883
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8788
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8563
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8646
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
6203
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4372
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
2013
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1778
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.