|
I've accepted an offer from another company and cancelled my interview on the East coast. So we'll never know if jeans would have worked! Thank you for the contentious advice
|
# ? May 20, 2011 23:00 |
|
|
# ? May 22, 2024 10:48 |
|
Paolomania posted:Sounds to me like he wants the set of words in the dictionary such that the set contains more than one word, all the words in the set are spelled with the same set of letters (are anagrams), the anagrams are of length as long or longer than the length of the words in any other set of anagrams ("has the longest anagram"), and the set contains more words than any other set of anagrams of the same length ("is the largest set of words"). I should have been a little clearer in my explanation.
|
# ? May 20, 2011 23:26 |
|
Hey guys, I have an interview next Friday. I'm going to wear a suit. Here's my latest set of interview horror stories: We're interviewing for a lead architect position. We have a standard phone screening containing all of your favorites (abstract class vs interface, some general philosophical questions, etc). This is all C#, for reference. This guy, an architect/CTO with 20+ years of industry experience, thought that: - You declare a method as "virtual" if you want to use it in remoting - You use abstract classes to get around access modifiers - (my favorite) Dependency injection is used for debugging and has something to do with stack traces (???????). But he's been unit testing with nUnit for 5 years!
|
# ? May 21, 2011 01:05 |
|
We don't get too many horror stories since we have a decent phone screen, but one of the post-phone-screen stories is memorable. After a candidate passes a phone screen, we send them a simple programming test where they can show their style and demonstrate that they can actually program (if they pass, we ask them to make modifications to it during the in-person interview, which filters out cheaters). The problem involves a simulation at a store where a list of customers arriving at various cash registers, each at time X and with N items, is provided and the output needs to be how much time the entire process takes, more or less. This is usually in C# but they can use any language they want. One candidate, instead of writing the typical while loop which ticks one time unit per loop, actually used a Winforms Timer component and ran the application, with the tick event running the process. His solution was also wrong. Oh, one more thing. Sometimes on the phone screen I ask candidates with CS degrees to give examples of two sorting algorithms and describe how fast they are. I swear, about 50% of the time, the candidate says 'binary sort'. Why do people keep giving this answer?
|
# ? May 21, 2011 02:08 |
|
Ithaqua posted:Hey guys, I have an interview next Friday. I'm going to wear a suit. I think these programmers are the same type as the office workers that don't know how to use a computer. They use a computer every day, but if you told them to do anything other than click on the icon to open Excel or Word they freak out and have no idea what to do. The same thing probably happens with programmers - they deal with the same program/software for so long that their view of "normal" programming is horribly skewed.
|
# ? May 21, 2011 02:24 |
|
subx posted:I think these programmers are the same type as the office workers that don't know how to use a computer. You're probably right, it's just that I would expect someone who's applying for a position as an architect to have skills beyond those of a senior developer. Most of the guys we've talked to are below our most junior. I'm spoiled, though; the guy who left and created this vacancy was a genuine badass. At this level, we're most likely getting all the dudes who haven't written production code for a decade or longer and are used to saying "We need a widget that does X" to a team lead that handles the actual design. New Yorp New Yorp fucked around with this message at 02:51 on May 21, 2011 |
# ? May 21, 2011 02:49 |
|
Maybe you need to get better senior developers or give them more input over decisions? Where I worked up until yesterday, tech archs/tech leads WERE senior developers. At least on the software side. General infrastructure stuff was handled by a different group. You can't/shouldn't really design something without knowing if it's going to be a nightmare to implement.
|
# ? May 21, 2011 11:23 |
|
I just went to an interview in the UK in which they had a test in order to see what our level of programming knowledge was. It involved having some memory "boxes" (up to 12) and following a flow diagrams with instructions at every step in order to manipulate the data within the boxes. Later on we had to input the correct number in one of the boxes in order to get the right number of recursions and the last exercise involved correcting an instruction that was incorrect. Is it standard for companies in the UK to have these kinds of exercises?
|
# ? May 21, 2011 11:55 |
|
Not in my experience, no. I assume it was language agnostic then?
|
# ? May 21, 2011 17:16 |
|
Yep, the instructions were of the sort "add (number in box 5) with (number in box 9)" and other instructions that simulated if statements or changed previous instructions.
|
# ? May 21, 2011 22:21 |
|
Tekopo posted:Yep, the instructions were of the sort "add (number in box 5) with (number in box 9)" and other instructions that simulated if statements or changed previous instructions. That can be sort of typical for graduate scheme jobs. For the interview for my first job, I had to write a card sorting/merging algorithm in pseudocode. I was bored so I also wrote it in Java (it was subsequently used as a model answer ). There was also some system flowchart stuff. It was the kind of place which hires people regardless of whether or not they've programmed before as long as they have a numerate degree - they've had philosophy graduates successfully apply there. Which is fair enough, but they were pretty spotty about providing a programming mentor to people. That said, the worst horrors I saw there was from someone who supposedly did programming at uni. Hardcoded connection strings in the markup portion of asmx pages. Every other interview I've had since then has been heavily .NET/SQL/design pattern focussed, with some logic puzzles and Maths thrown in.
|
# ? May 21, 2011 22:42 |
|
tef posted:unless you're expected to do a whole slew of client facing work, a dress code is a sign you may be writing middleware. My company's dress code is 'clean clothes; no sweatpants' That said everyone we've interviewed in the last year wore a suit, so I'm usually of the opinion that unless you just don't own a suit that fits you right, it's probably the best first impression you can go with.
|
# ? May 22, 2011 05:18 |
|
Lurchington posted:My company's dress code is 'clean clothes; no sweatpants' I would wear a Hawaiian shirt and shorts every day at your company. On a not-unrelated note I don't have a suit, never have. I guess my next best bet is black pants/light dress shirt/tie and a decent jacket?
|
# ? May 22, 2011 08:56 |
|
I have a suit, the last time I wore it was at a funeral. Are you going to remind me of my relative's death just to get a job?
|
# ? May 22, 2011 09:47 |
|
Even if you're not interviewing or working at banks it is my opinion that every man should have a suit tailored to fit just right because it is a fine loving feeling Thel posted:I guess my next best bet is black pants/light dress shirt/tie and a decent jacket? Sure, that works. Just to put this out there in the sample set: my typical interview wear is khakis, button-down shirt with no tie, and a sport coat. Lurchington posted:My company's dress code is 'clean clothes; no sweatpants' This pretty much sums up my company too.
|
# ? May 22, 2011 17:07 |
|
shrughes posted:I have a suit, the last time I wore it was at a funeral. Are you going to remind me of my relative's death just to get a job? Wear a tux and remind yourself of a wedding instead
|
# ? May 23, 2011 06:42 |
|
Wow I did not realize this thread was here or I would've made some posts sooner . . . I graduated in December with a degree in mechanical engineering but late in my degree I decided that I hated ME and loved CS. I took a bunch of CS classes alongside my ME ones and got through data structures before I ran out of time. Am I really dumb for trying to go for entry-level dev jobs? These interviews sound mostly like material I've seen/could maybe brush up on but they sound scary as heck.
|
# ? May 23, 2011 06:55 |
|
HondaCivet posted:Wow I did not realize this thread was here or I would've made some posts sooner . . . I graduated in December with a degree in mechanical engineering but late in my degree I decided that I hated ME and loved CS. I took a bunch of CS classes alongside my ME ones and got through data structures before I ran out of time. Am I really dumb for trying to go for entry-level dev jobs? These interviews sound mostly like material I've seen/could maybe brush up on but they sound scary as heck. A lot of companies call their developers software engineers for a reason Didn't you have to learn some programming in first year Engineering or something? I'm sure a mech would be fine as a dev.
|
# ? May 23, 2011 06:57 |
|
Chasiubao posted:I'm sure a mech would be fine as a dev. Most MechE programs will require some matlab poo poo and that's pretty much it, like physicists there are very many that have to code in something 'real' to get poo poo done but the output is an abomination that cries out to heaven for judgment but the good apples tend to be pretty dang good
|
# ? May 23, 2011 07:17 |
|
That's how I got into it initially, my program required everyone to take the same intro to programming course that the CS majors had to take. But then after that I went through as much of the CS curriculum as I could. I got through discrete math, intro to computer engineering and data structures. Didn't have time for algorithms unfortunately. So you guys think I'd be fine?
|
# ? May 23, 2011 07:43 |
|
Chasiubao posted:A lot of companies call their developers software engineers for a reason Didn't you have to learn some programming in first year Engineering or something? I'm sure a mech would be fine as a dev. I know a professionally employed MechE who knows nothing from his curriculum. He is mathematically inclined, and he's teaching himself programming from the MIT open courseware sites. So, MechEs can be programmers, but sure as hell not from their curriculum.
|
# ? May 23, 2011 07:43 |
|
TasteMyHouse posted:I know a professionally employed MechE who knows nothing from his curriculum. He is mathematically inclined, and he's teaching himself programming from the MIT open courseware sites. Yeah, definitely. After that CS class we never touched programming again in any serious way except for PLC. Also: Good for your friend for expunging all that terrible poo poo from his brain and putting something useful in instead.
|
# ? May 23, 2011 07:49 |
|
I'm actually gonna interview someone today that has no formal programming training and thus can't claim any particular language experience. He's done some projects that, assuming they work, show that he can program and figure out a language as needed, but we'll see how this interview goes. I would say for at least a large portion of entry level jobs, a fast learnercould pick up what you needed to know during a training period. The question is how to identify that ability during the interview process.
|
# ? May 23, 2011 12:29 |
|
I'm not really a fan of questions that can be answered in less than a minute using Google. I'm also not a fan of questions that are so vague that could have literally thousands of correct answers. Is there somewhere in between, because those are really the only 2 types of questions I ever get asked? Ive been asked to implement some algorithm, maybe once in 3-4 years of interviewing, maybe I just live in a horrible horrible area for software developers. aux fucked around with this message at 15:03 on May 23, 2011 |
# ? May 23, 2011 15:01 |
|
aux posted:I'm not really a fan of questions that can be answered in less than a minute using Google. I'm also not a fan of questions that are so vague that could have literally thousands of correct answers. Regarding the first type, google doesn't always give the right answer. Additionally, unless you're applying for a job which requires a computer science background, you should possess some base level of knowledge. Regarding the second, you should either seek clarification, or realise that yes, there are lots of correct solutions, but one or two are probably better / best compromises out of the lot. Requirements gathering, and realising when you've got to pick the best out of a bad lot are two important aspects of programming. It's also a good exercise in showing the interviewer how you think.
|
# ? May 23, 2011 15:09 |
|
I'm looking for problem sets / practice questions for a slightly non-newbie programmer; I'm through to a final round with a notoriously difficult company, for a non-junior position, and I've got about a week to cram more stuff into my brain. I'm already fine with data structures, algorithms, big-O, all that junk, I just need to practice coming up with solutions to problems. Especially if dynamic programming is called for but the problem is not just another knapsack/edit distance problem. Anyone know a good set? Facebook puzzles seem pretty good, I guess, but they're mostly pretty easy to reduce down to "problem I've seen before except then it was called graph partitioning/knapsack/whatever".
|
# ? May 26, 2011 12:49 |
|
dazjw posted:I'm looking for problem sets / practice questions for a slightly non-newbie programmer; I'm through to a final round with a notoriously difficult company, for a non-junior position, and I've got about a week to cram more stuff into my brain. I'm already fine with data structures, algorithms, big-O, all that junk, I just need to practice coming up with solutions to problems. Especially if dynamic programming is called for but the problem is not just another knapsack/edit distance problem. Anyone know a good set? Facebook puzzles seem pretty good, I guess, but they're mostly pretty easy to reduce down to "problem I've seen before except then it was called graph partitioning/knapsack/whatever".
|
# ? May 26, 2011 15:30 |
|
I went on a pretty horrific interview for a C# senior dev job today. Here's a list of the things that the company doesn't do: - Project planning - Source control - Unit testing - Continuous integration - Cross-training Here's what they do do: - Let former developers keep part of the code-base hostage - Release poo poo whenever - Get random tasks assigned from management - Make lots of excuses about why they can't institute change The technical assessment part of the interview was equally unimpressive. I was asked 3 things: 1) Write an algorithm to reverse a string on the whiteboard. This is actually a good interview question; I ask the same thing when I'm interviewing folks. I think I blew the guy's mind on this one; I used the LINQ Reverse() method. I had to explain what LINQ was to the interviewer, which led to an explanation of extension methods, which led to him asking me to do it again, the "normal" way. 2) Make a class "A" with a constructor 3) Make a class "B" and have it inherit A. I'm 99% sure I'm going to get an offer, and I'm 100% sure I'll be politely refusing.
|
# ? May 27, 2011 02:29 |
|
Why would you use LINQ to answer that question? Usually the point is "without <language>'s built-in method for reversing things what would be a simple way of doing this task?"
|
# ? May 27, 2011 03:06 |
|
Ithaqua posted:The technical assessment part of the interview was equally unimpressive. I was asked 3 things:
|
# ? May 27, 2011 03:52 |
|
When is the right time for a future CS grad to start sending out resumes? For example if I was graduating in December and looking to start a job in January would applying for jobs during August/September be considered too early?
|
# ? May 27, 2011 06:38 |
|
Theler posted:When is the right time for a future CS grad to start sending out resumes? For example if I was graduating in December and looking to start a job in January would applying for jobs during August/September be considered too early? Edit: As in, the September before graduation. Cicero fucked around with this message at 16:58 on May 27, 2011 |
# ? May 27, 2011 06:54 |
|
Theler posted:When is the right time for a future CS grad to start sending out resumes? For example if I was graduating in December and looking to start a job in January would applying for jobs during August/September be considered too early? I graduated in December and started looking in January.
|
# ? May 27, 2011 07:47 |
|
shrughes posted:I graduated in December and started looking in January. which january -- the one before you graduated, or the one after? IIRC didn't you have a grad school app that went through late or was that someone else?
|
# ? May 27, 2011 07:55 |
|
TasteMyHouse posted:which january -- the one before you graduated, or the one after? That wasn't me, I didn't apply to grad school. The one after.
|
# ? May 27, 2011 08:50 |
|
Orzo posted:Are you doing topcoder problems? Oh, thanks, I hadn't thought of that. Run through a few already and they seem like good practice. Forgot I even had a JRE installed.
|
# ? May 27, 2011 11:52 |
|
No Safe Word posted:Why would you use LINQ to answer that question? Well, I wouldn't loop through the characters in a string and build a new string in production code, I'd use .Reverse(). If I had someone do it that way in an interview, it would lead to some chatting about LINQ, lambdas, etc. I'd follow up with "given a List<int>, get everything greater than 5" or something like that.
|
# ? May 27, 2011 12:10 |
|
Ithaqua posted:Well, I wouldn't loop through the characters in a string and build a new string in production code, I'd use .Reverse(). If I had someone do it that way in an interview, it would lead to some chatting about LINQ, lambdas, etc. I'd follow up with "given a List<int>, get everything greater than 5" or something like that. To be honest, that's a pretty odd answer to give during an interview.
|
# ? May 27, 2011 15:22 |
|
If I'm hiring someone, I'm going to be looking at how well they can integrate into the established workflow and programming culture, no matter how lovely it is, over whether they know the latest and greatest. LINQ is neat, but it's for a very specific mindset and fairly specific problem domains. If you just came in on your first day and started throwing it around in a shared codebase, that's time commited to
It comes across as, "When all I have is a hammer, everything looks like a skull," and the shop's dysfunction is a bit of a strawman. You are eventually going to find a shop where the coders are good, but just don't have the time/desire/need to learn LINQ, and then you just look like a uni-tasker who can't adapt. You should have a lot of tools in your toolkit, from basic concepts up to modern API knowledge. This was the time to show deep knowledge of basic concepts. Did the job posting even mention LINQ as a required or even desired skill?
|
# ? May 27, 2011 15:30 |
|
|
# ? May 22, 2024 10:48 |
|
LINQ and lambda calculus have been around for nearly four years now and are a massive productivity boost - even if you don't use LINQ to SQL, LINQ to XML etc. Quickly iterating over, filtering and manipulating enumerations is not a "fairly specific problem domain" in .NET - certainly not in business applications. Yes there is a training/learning cost. But your developers should be continually learning poo poo and you save money in the long run by increasing velocity and reducing trivial bugs. Also the job was for a senior developer - a senior developer should be providing thought leadership on stuff / giving people a kick up the backside. Freezing your codebase at .NET 2.0 capabilities is a very bad idea. One of the best things about .NET/C# is that Microsoft spend a lot of time thinking about the things developers spend the most time writing boilerplate on or trying to work around. And then they come up with some good stuff to solve it. Occasionally they completely balls it up (WCF), but usually not.
|
# ? May 27, 2011 16:12 |