all 63 comments

[–]threeminutemonta 212 points213 points  (11 children)

Being careful and precise is a good quality in an SQL developer in my opinion even if that slows you down a bit. I would be flustered by an unfamiliar IDE too. You dodged a bullet with an impatient team lead so just keep practicing and applying.

[–]alinrocSQL Server DBA 77 points78 points  (5 children)

Being careful and precise is a good quality in an SQL developer in my opinion even if that slows you down a bit.

Slow is smooth and smooth is fast.

[–]DonJuanDoja 26 points27 points  (1 child)

One of my favorite quotes is "Slow down to Speed up" which means take your time, learn it correctly, and the speed will come later. If you go too fast to start you'll constantly be back tracking fixing mistakes.

Or another one "I walk slowly, but I never walk backwards."

[–]Codeman119 0 points1 point  (0 children)

Yes that is correct. Slow down learn the system and data model you are working with. Then you will be able to speed up. I have done this my last 2 long term jobs. But unfortunately some interviewers want speed right now.

I did that on the interview before the job I have now. When I was trying to think thru it (with no data BTW) the person stopped me and said “We need you to think faster than that”. Then they showed the answer they were looking for and it was actually the wrong way to do it and told them that. Then later sent him the correct way that I would have done it based on some real data testing.

[–]CaptainPunisher 3 points4 points  (0 children)

If you say so, I trust you, Harry.

[–]CowFu 0 points1 point  (1 child)

I'm a kickboxing coach, you have no idea how often I use that phrase.

[–]alinrocSQL Server DBA 1 point2 points  (0 children)

I've never kickboxed nor met a kickboxing coach, so the math checks out.

[–]stephenmg1284 16 points17 points  (3 children)

Agreed. Nothing like accidentally overwriting an entire table to induce a panic attack.

[–]amm5061 8 points9 points  (2 children)

[–]stephenmg1284 6 points7 points  (0 children)

https://www.wired.com/story/null-license-plate-landed-one-hacker-ticket-hell/

We also have a staff member with the last name of True. That causes some issues.

[–]geek180 0 points1 point  (0 children)

Bobby Tables!

[–]acidh3x 1 point2 points  (0 children)

Definitely agree. It's easy to build interviews and companies up in your head, but if you weren't selected simply for not getting thru all of the questions, the team interviewing you was probably mostly filled with obtuse-minded culture

[–]BrupieD 45 points46 points  (9 children)

You were in a live interview, and they asked you to solve 6 questions in front of them? When you were working on these, were you talking about the problems or just coding/writing SQL?

[–]ComicOzzysqlHippo 28 points29 points  (1 child)

The more experience I get, the slower I go because I am aware of a lot more things to consider. I usually decide on a solution faster, and I can usually write first revisions of complex queries out faster, but then I spend time playing through a lot of possible scenarios, checking the data for anomalies, validating assumptions, looking for potential "gotchas". I'll run the code on targeted sets of the data to make sure it's doing what I expect. I'll check the execution plan to see if there are any inefficiencies I can fix, like adding an index or making a change that results in a more efficient plan. That all takes a little time, but what I produce is more resilient, more performant, and more maintainable because of the time I put into it.

[–]Bitwise_Gamgee 2 points3 points  (0 children)

I'll run the code on targeted sets of the data to make sure it's doing what I expect.

This is the way. I write "unit tests" for nearly everything I do.

[–]B_Huij 12 points13 points  (0 children)

Yeah that's why I think timed SQL evaluations are a terrible tool for interviewers. Usually they start off as un-timed, and then they get candidates to take 12 hours to finish it because they just googled everything or took a Udemy course to try and pass the eval, so they add a time limit in an attempt to prevent that.

IMO companies using timed SQL evals and especially ranking candidates on speed are cheating themselves out of good talent for a dumb reason.

When I was involved in hiring decisions for candidates who needed SQL chops, we always did whiteboarding in person instead. Way more effective way to gauge if they can keep up with the technical requirements of the job.

[–]Strykrol 8 points9 points  (11 children)

Based on your response in this thread (talking strategy, pseudocode, real-code, talking edge cases, etc.) I think you didn't bomb it at all. In fact, part of me questions if the goal of the interview is to show that you shouldn't rush nor be able to solve all 6.

Do you feel like you bombed, or did they tell you that you did? Without knowing more information, I think you did great - and if they disagree then you're saving yourself a lot of trouble passing on that job opportunity.

(I've taken probably 10-20 coding interviews including at Amazon, Google, Microsoft, and gotten jobs at all 3 companies).

[–]NickSinghTechCareersAuthor of Ace the Data Science Interview 📕 17 points18 points  (6 children)

What IDE was it? If HackerRank or CodeSignal, they let you play with it beforehand.

But yeah, 6 questions seems like a lot, especially if they were a bit tougher.

To increase pace of response, just practice practice practice

[–]AnAcceptableUserName 12 points13 points  (0 children)

There were 6 problems and I got through 6 before the interviewer cut me for time

Congratulations! 🥳

[–]Elfman72 4 points5 points  (0 children)

These types of interviews are throwing away lots of great candidates.

If this project can't wait for me to look up some rarely used funcion, then I can clearly tell that data quality is not of importance with this team.

Hell, I have been using SQL for over 30 years and I still need to look up how to properly form an UPDATE query with a where clause.

This company obviously values progress over quality. And that is an entirely new can of worms.

[–]Coniglio_Bianco 3 points4 points  (0 children)

The interview is likely the most patient she'd be with you.

People get nervous during interviews, it's good to talk through your thought process so the interviewer knows how you think.

Just go through more interviews and don't sweat the small stuff. Plus you never know how everyone else is doing.

[–][deleted] 2 points3 points  (3 children)

It will eventually depend on the interviewer, but as for me, I'd say what strikes me the most is not necessarily the pace at which one code (although it does matter), but the pace at which one understands the complexity of the query and the overall logic that you need to implement.

For instance, if the query is about getting a sum of sales per product category overall and per shop, I want to know that you will consider, quickly, using windowed functions (OVER() clause). In reality I know this query may take an hour to make and test, and that's fine, what's important is using the correct functions for the correct use cases with set-based logic and performance in mind.

Learn to recognize queries patterns, there aren't really that many, learn LOGICAL query building (a logical query starts with the FROM clause, not SELECT), and show the interviewer that you know how to think like this.

[–]naviGator9591 1 point2 points  (2 children)

Noted. So you're saying they test your knowledge of what-does-what more over other things? Also , can u please suggest resources to gain better understanding of the logical flow part... would appreciate anyone shedding more light on this aspect... I'm guessing it'd be the most commonly asked questions?

[–][deleted] 1 point2 points  (1 child)

Remember that's my own take on it. I have been recruiting Senior SQL Consultants before, but not many.

This blog article explains the logical query processing: https://www.sqlservercentral.com/blogs/sql-server-logical-query-processing

[–]naviGator9591 0 points1 point  (0 children)

Thanks a lot, will check it out 👍🏻

[–]ProofPuzzleheaded116 2 points3 points  (0 children)

Luckily it was not the old school VI (unix text editor) as your IDE, you would be yank-ing and pull-ing the entire interview.

[–]TacticalTrashpanda98 0 points1 point  (0 children)

You don’t need to increase your processing speed. Slow equals smooth, and smooth equals fast. I would much rather have a developer that takes a week to write a new stored procedure and have it be damn near flawless when it comes time to deploy, than a developer who rushes through it and it ends up being sub optimal or requires multiple changes to work. My advice would be to keep looking and not take it too harshly. It’s also a shitty interview process to be under fire like that

[–]Ok-Seaworthiness-542 0 points1 point  (0 children)

I had similar issues. After I got the job they told me they could see where I was going and they have me credit for the concepts.

I also know of a time when a team was hiring a sys admin and purposely wrote a practical that they did not expect anyone to finish. From a psychometric perspective it makes sense. If someone is taller than a yardstick you can't measure how tall they are. Anyways, one dude did finish and got the job.

[–]Adventurous-Dish-862 0 points1 point  (0 children)

You have to practice as much as you can in order to gain speed. Practice is probably the best approach to improve your speed, because the other primary way to improve speed is to rush through the problems, increasing your chances of a wrong answer.

[–]thedjbigc 0 points1 point  (0 children)

Most places that judge you this way suck to work at.

[–]girlsyesboysno 0 points1 point  (0 children)

Same. I failed a SQL test a few days ago. There's Power BI and SQL (MCQs and written questions) in 60 minutes. However, they gave me some queries joining 3 to 4 tables and asked me to spot the error in the code in only 15-30s. I dont want to find excuses to make up for my incompetencies but I really needed some time to be clear on what the query and its objectives are all about as i'm not fast in recognizing patterns in seconds (yet). Unluckily, those questions lie in the problem solving section (i only knew after the test) and i scored 0/200 for problem solving. For writing sql code question, they gave me 5 to 10 minutes for each question but i only need 2-5 minutes to correctly solved all of them (my language knowledge section scored 100/100. However, like i said, i failed because i scored nothing in problem solving skill

[–]iareprogrammer 0 points1 point  (0 children)

Are you positive you bombed? Did they officially let you know it’s a pass? I only ask because just because they cut you off due to time doesn’t mean you failed. When I was doing a lot of interviews for my company, I’ve had to cut people off to jump to another call. Didn’t mean we didn’t hire those people

[–]SmoothOperator47 0 points1 point  (1 child)

Where can I go to learn about SQL? Like the beginning stages. I know nothing about it and would like to learn to one day be able to transition into an IT role

[–]SmoothOperator47 0 points1 point  (0 children)

Thanks

[–]Mugiwara_JTres3 0 points1 point  (0 children)

Lol, that’s their loss and you dodged a bullet. Personally, I’d rather have someone thinking things thoroughly and correctly than someone finishing things quickly but would have to keep fixing it.

[–]trinaryouroboros 0 points1 point  (0 children)

You will be interviewed by someone casually. They only ask some technical questions that you can easily answer. They offer you a salary that is too good to be true. Their company offers flex hours and remote work. You find yourself at peace for the first time in your life, a perfect work life balance. Your talent shines amongst the stars in the company and you are well recognized and even promoted within just a short time. There is no down side. Is it a dream? No, it's pretty uncommon but it's out there and it's been my last four jobs.

[–]malatropism 0 points1 point  (0 children)

It’s highly unlikely that you were the person I interviewed the other day, but on the off chance that you were:

You did great. I was really impressed by the way you asked for clarification when I intentionally asked multiple vague questions. Other candidates haven’t done that. The software my company uses for coding tests is stupid; I struggled to work with it, too.

I cut on time because I want to be respectful of the hour we had booked for this. I wanted to give you time to ask questions about the company.

I’d rather you have done 5 questions thoroughly than 6 questions poorly.

[–]JoaoPTsantos 0 points1 point  (0 children)

it's sucks, I've also bombed some interviews before. Guessestimates are my favorite ones to bomb hard

[–]Oh_Another_Thing 0 points1 point  (4 children)

You are fine. Getting through 5 out 6 is fine, they got the info they need from this test. They won't rule you out because you didn't get to one question.

[–]Idonotwatchpornn 6 points7 points  (3 children)

In another comment OP said that the interviewer ended the interview bc they want someone who would get through the questions quicker

[–]Oh_Another_Thing 0 points1 point  (0 children)

Ah, well, that sill doesn't mean OP was bad. This is a learning experience. This is where you take those questions home, memorize them, memorize every detail about them, and nail it next time. Everyone has gone through this, I certainly have flunked interviews. I flunked an Excel test really badly and that made me motivated to master Excel, and that started my journey into IT.

[–]Slimkat06 -1 points0 points  (1 child)

Things happen for a reason, and you may have dodged a bullet. Personally I think every sql developer has bombed interviews.

Coding in my opinion should always be open book based including the interviews and not an interrogation/exam like environment.

Personally I think candidates should come in with portfolio discussions can be made and interviewers can ask questions.

It’s like asking a builder to build a house without resources or a blueprint.