Author: Pinal Dave & Vinod Kumar
Publisher: CreateSpace Independent Publishing Platform
Audience: DBAs and SQL Developers
Reviewer: Ian Stirk
Interviews are the main method used to show your understanding of SQL Server. This book contains commonly asked interview questions together with their answers. Will it help you get a job?
Many of us attend interviews in the hope of getting a job. So potentially this book could prove very helpful in getting you that job, by both identifying the common SQL Server questions asked, and giving you the answers to those questions. I work freelance, having had 13 contracts over the last 18 years, I also regularly interview candidates for SQL Server related roles, so hopefully I’m qualified to say how relevant the questions and answers are.
The book is divided into the following chapters:
- Database concepts with SQL Server
- Common generic questions & answers
- Common developer questions
- Common tricky questions
- Miscellaneous questions on SQL Server 2008
- DBA skills related questions
- Data warehousing interview questions & answers
- General best practices
You can see from the chapter headings the book should be suitable for SQL Server developers, DBAs, and data warehouse specialists.
Looking at the questions given in the book, I can confirm many of them are typical of the questions asked at SQL Server interviews. There’s a very good range of questions asked, and often sufficient immediate detail in the answers given, additionally there are pointers to further information in the author’s other books. Each question has between a half-page and a two-page answer.
At the end of each chapter there is a ‘points to ponder’ section, which while interesting, does not always relate to the chapter, and is certainly not a chapter summary. The book ends with four pages of very useful best practices, however it would have been better to explain why they are best practices, and what problems they overcome.
Some of the questions from the book are:
- What is normalization?
- What is a CHECK constraint?
- What is collation?
- What is RAID?
- What’s a CTE?
- What’s a covered index?
- What is dimensional modeling?
About 90% of the answers are straightforward and easy to understand. Perhaps 10% of the answers are dubious, mostly due to the imprecise language used, or lack of detail. If you know the answer already, you can decipher what the author is trying, but failing, to say. For example to answer the question “What are statistics”, I would expect the answer to include details about the density and distribution of data values, however the answer given explains that SQL Server ‘looks at the data’. In another example, asked “What is a B-tree?” the word ‘balanced’ is not given in the answer.
This book can also serve as a good refresher of the range of SQL Server’s capabilities. I’m not sure it’s suitable for inexperienced people wanting to learn SQL Server, since there is much more to SQL Server than the answers given here.
At times the book reads like an advert for the author’s other books, which may be a good thing if you like the writing style. The book largely relates to SQL Server 2005 and 2008, additionally some of the questions are version independent (e.g. questions about normalization). An update for SQL Server 2012 would be useful, as would an index!
You should bear in mind that not all interview questions are as closed as those given in this book, and these often require more thought and preparation, and indeed experience! For example, How do you approach improving the performance of a SQL query? How would you identify, and fix a deadlock? are typical real world questions that are not in the book.
One of the book’s authors (Pinal Dave) has a popular blog http://blog.sqlauthority.com/, where he posts short snippets of SQL Server information on a daily basis. Many of this book’s questions, together with their answers are also given there. In some ways the blog may be more useful, since it contains comments and further information on the answers given, and is more up to date and free.
The book is a good guide to the type of questions you will be asked at a SQL Server interview, and many of the answers given are sufficient, however for some interviews you may need to go a bit deeper, and a few answers need revising. Overall, I think this book will help you get that SQL Server job. Recommended.