A rant about job interviews...
-
Actually there is SortedDistionary, which is some kind of binary search tree.. But I don't mean binary search trees. Just any plain old tree. Here's the actual why: they're trivial to implement. Have a class that has a/several member(s) of its own type? Congratulations, you have a graph and possibly a tree, depending on the layout of the graph. Actually I suppose you might call it a tree/graph even if the nodes are not of the same types. Then if you use OOP at all you will have a graph/tree. But IMO that doesn't really count here. It wouldn't really be a data structure. Hashmaps aren't faster or simpler than trees - they're unrelated and therefore not comparable.
This is a prime example of knowing .NET and knowing REAL WORLD runtime. If you've ever used SortedDictionary, you'd know its VERY, VERY slow. I don't believe its implemented using a tree. Its much faster to use a regular dictionary and sort it once at the end. How is a hashmap not comparable to a tree? Both store "nodes". Most hashmap operations are O ( 1 ) while a b-tree for example is n log n on the insert. Now, don't get me wrong, I know they offer additional features that the other doesn't, but in terms of general insertion, deletion and searching, the hash map is faster. Hash map is also simpler to implement IMO.
-
This is a prime example of knowing .NET and knowing REAL WORLD runtime. If you've ever used SortedDictionary, you'd know its VERY, VERY slow. I don't believe its implemented using a tree. Its much faster to use a regular dictionary and sort it once at the end. How is a hashmap not comparable to a tree? Both store "nodes". Most hashmap operations are O ( 1 ) while a b-tree for example is n log n on the insert. Now, don't get me wrong, I know they offer additional features that the other doesn't, but in terms of general insertion, deletion and searching, the hash map is faster. Hash map is also simpler to implement IMO.
SledgeHammer01 wrote:
I don't believe its implemented using a tree.
http://msdn.microsoft.com/en-us/library/f7fta44c.aspx[^], remarks section. Yes it kind of sucks, but that's not my point - I'm just saying, "yes .NET has a tree somewhere hidden inside it".
SledgeHammer01 wrote:
How is a hashmap not comparable to a tree?
Because you're still thinking "binary search tree". How would you use a hashmap to create huffman codes? (edit: ok obviously you can do that, but I mean "with a dictionary replacing the (implicit) tree")
-
This is a prime example of knowing .NET and knowing REAL WORLD runtime. If you've ever used SortedDictionary, you'd know its VERY, VERY slow. I don't believe its implemented using a tree. Its much faster to use a regular dictionary and sort it once at the end. How is a hashmap not comparable to a tree? Both store "nodes". Most hashmap operations are O ( 1 ) while a b-tree for example is n log n on the insert. Now, don't get me wrong, I know they offer additional features that the other doesn't, but in terms of general insertion, deletion and searching, the hash map is faster. Hash map is also simpler to implement IMO.
-
SledgeHammer01 wrote:
I don't believe its implemented using a tree.
http://msdn.microsoft.com/en-us/library/f7fta44c.aspx[^], remarks section. Yes it kind of sucks, but that's not my point - I'm just saying, "yes .NET has a tree somewhere hidden inside it".
SledgeHammer01 wrote:
How is a hashmap not comparable to a tree?
Because you're still thinking "binary search tree". How would you use a hashmap to create huffman codes? (edit: ok obviously you can do that, but I mean "with a dictionary replacing the (implicit) tree")
Bah, beaten to the punch. :D
-
SledgeHammer01 wrote:
I don't believe its implemented using a tree.
http://msdn.microsoft.com/en-us/library/f7fta44c.aspx[^], remarks section. Yes it kind of sucks, but that's not my point - I'm just saying, "yes .NET has a tree somewhere hidden inside it".
SledgeHammer01 wrote:
How is a hashmap not comparable to a tree?
Because you're still thinking "binary search tree". How would you use a hashmap to create huffman codes? (edit: ok obviously you can do that, but I mean "with a dictionary replacing the (implicit) tree")
harold aptroot wrote:
http://msdn.microsoft.com/en-us/library/f7fta44c.aspx[^], remarks section.
Yes it kind of sucks, but that's not my point - I'm just saying, "yes .NET has a tree somewhere hidden inside it".Well, I'll be, that is what it says. I dunno what its problem is then, cuz that is the gosh darnest slowest data structure I've ever seen in .NET.
harold aptroot wrote:
How would you use a hashmap to create huffman codes? (edit: ok obviously you can do that, but I mean "with a dictionary replacing the (implicit) tree")
I don't :). I use .NET's built in compression stuff :). Anyways, ok, so .NET uses a tree internally. I've written plenty of UIs that have used tree controls, but never actually store the underlying data in a tree structure. I've also worked on a lot of back-end stuff and never had to implement my own tree.
-
Yeah, I didn't know that... I just know its slow as heck and that I avoid using it :).
-
Am I the only one who is annoyed by techie interviews? If you are in sales / marketing, your job interview is basically one where they see if your personality will mesh with the manager / team / company. If you don't make quota they get rid of you. If you are a manager / project manager / program manager / scrum master / human resources, etc. those too are generally personality fit questions. If you are in IT (network admin, desktop support, tech support, etc), they might ask you a few technical questions, or put you on a "test call". So why is it that software engineer interviews are "brutal"? I've been on some where you have a gang of 5+ people just hurling questions at you non stop til you are forced into the fetal position sucking your thumb and crying. I've been a software engineer for 17 yrs and have worked at several jobs for 4 or 5 yrs, so obviously I know what I'm doing, but I just had a phone screen where I was ridiculously hammered with big O questions and low level data structure questions. Ridiculous. When was the last time I wrote my own data structure and didn't use one provided by .NET? Probably 6 to 10yrs ago!! When was the last time I cared about big O notation? Probably 20 yrs ago in school! Big O notation doesn't have much use in the real world. I can easily write O(n ^ 3) that runs in 1ms vs. O(1) that takes an hour. Me personally, I generally write code using my first approach and then test it with real data... if it runs too slow, I'll optimize it. The process of optimizing is almost NEVER calculating the big O and unwinding complexity... its usually moving expensive calls out of the loop or fixing a stored proc or something of that nature. How about asking questions that are actually relevant to the job??? I had one guy turn me down because I couldn't go on the white board and write a regex to validate an email address off the top of my head (and I don't mean just something simple like a@a.com, he wanted almost full RFC spec validation). Now I get it... maybe you want to make sure the guy has good designs, etc. Unless he's an architect or team lead, I've almost never seen a mid level or even a sr guy "design" anything important. Its always by the principal guys and the architects and the lower level guys are just coders. Ok, so you don't want crappy code written? Unless you don't outsource, that ain't gonna happen. I know a guy who is much better then me at coming up with off the top of his head algorithms, but you would never want to use his code in production becaus
I had an interview recently the first one went well and it came time to organise the second interview so the recruiter calls me and tells me to free up 3.5 hours for the testing interview... My reply was "I dont feel i am a good match for that position, they obviously want a school boy/girl to fill the position" another great test i had was a timed multi choice questionaire that had nothing to do with anything, i am guessing it was a "physcometric" crapola test which was more a group of monty python riddles. HR has gone mad... outsourcing to recruitment agents drives this retarded HR process because they have to justify the fees they charge.
-
I had an interview recently the first one went well and it came time to organise the second interview so the recruiter calls me and tells me to free up 3.5 hours for the testing interview... My reply was "I dont feel i am a good match for that position, they obviously want a school boy/girl to fill the position" another great test i had was a timed multi choice questionaire that had nothing to do with anything, i am guessing it was a "physcometric" crapola test which was more a group of monty python riddles. HR has gone mad... outsourcing to recruitment agents drives this retarded HR process because they have to justify the fees they charge.
Oh yeah, haha... I interviewed at one place that had me take an IQ test. LMAO... I think that was Western Dental.
-
Am I the only one who is annoyed by techie interviews? If you are in sales / marketing, your job interview is basically one where they see if your personality will mesh with the manager / team / company. If you don't make quota they get rid of you. If you are a manager / project manager / program manager / scrum master / human resources, etc. those too are generally personality fit questions. If you are in IT (network admin, desktop support, tech support, etc), they might ask you a few technical questions, or put you on a "test call". So why is it that software engineer interviews are "brutal"? I've been on some where you have a gang of 5+ people just hurling questions at you non stop til you are forced into the fetal position sucking your thumb and crying. I've been a software engineer for 17 yrs and have worked at several jobs for 4 or 5 yrs, so obviously I know what I'm doing, but I just had a phone screen where I was ridiculously hammered with big O questions and low level data structure questions. Ridiculous. When was the last time I wrote my own data structure and didn't use one provided by .NET? Probably 6 to 10yrs ago!! When was the last time I cared about big O notation? Probably 20 yrs ago in school! Big O notation doesn't have much use in the real world. I can easily write O(n ^ 3) that runs in 1ms vs. O(1) that takes an hour. Me personally, I generally write code using my first approach and then test it with real data... if it runs too slow, I'll optimize it. The process of optimizing is almost NEVER calculating the big O and unwinding complexity... its usually moving expensive calls out of the loop or fixing a stored proc or something of that nature. How about asking questions that are actually relevant to the job??? I had one guy turn me down because I couldn't go on the white board and write a regex to validate an email address off the top of my head (and I don't mean just something simple like a@a.com, he wanted almost full RFC spec validation). Now I get it... maybe you want to make sure the guy has good designs, etc. Unless he's an architect or team lead, I've almost never seen a mid level or even a sr guy "design" anything important. Its always by the principal guys and the architects and the lower level guys are just coders. Ok, so you don't want crappy code written? Unless you don't outsource, that ain't gonna happen. I know a guy who is much better then me at coming up with off the top of his head algorithms, but you would never want to use his code in production becaus
SledgeHammer01 wrote:
So why is it that software engineer interviews are "brutal"? I've been on some where you have a gang of 5+ people just hurling questions at you non stop til you are forced into the fetal position sucking your thumb and crying.
Two reasons. 1. Developers have no idea how to do interviews. 2. Developers think that they are smart enough to create questions that test knowledge yet completely ignore decades (or more) of research about that specific subject (testing for knowledge.)
-
Am I the only one who is annoyed by techie interviews? If you are in sales / marketing, your job interview is basically one where they see if your personality will mesh with the manager / team / company. If you don't make quota they get rid of you. If you are a manager / project manager / program manager / scrum master / human resources, etc. those too are generally personality fit questions. If you are in IT (network admin, desktop support, tech support, etc), they might ask you a few technical questions, or put you on a "test call". So why is it that software engineer interviews are "brutal"? I've been on some where you have a gang of 5+ people just hurling questions at you non stop til you are forced into the fetal position sucking your thumb and crying. I've been a software engineer for 17 yrs and have worked at several jobs for 4 or 5 yrs, so obviously I know what I'm doing, but I just had a phone screen where I was ridiculously hammered with big O questions and low level data structure questions. Ridiculous. When was the last time I wrote my own data structure and didn't use one provided by .NET? Probably 6 to 10yrs ago!! When was the last time I cared about big O notation? Probably 20 yrs ago in school! Big O notation doesn't have much use in the real world. I can easily write O(n ^ 3) that runs in 1ms vs. O(1) that takes an hour. Me personally, I generally write code using my first approach and then test it with real data... if it runs too slow, I'll optimize it. The process of optimizing is almost NEVER calculating the big O and unwinding complexity... its usually moving expensive calls out of the loop or fixing a stored proc or something of that nature. How about asking questions that are actually relevant to the job??? I had one guy turn me down because I couldn't go on the white board and write a regex to validate an email address off the top of my head (and I don't mean just something simple like a@a.com, he wanted almost full RFC spec validation). Now I get it... maybe you want to make sure the guy has good designs, etc. Unless he's an architect or team lead, I've almost never seen a mid level or even a sr guy "design" anything important. Its always by the principal guys and the architects and the lower level guys are just coders. Ok, so you don't want crappy code written? Unless you don't outsource, that ain't gonna happen. I know a guy who is much better then me at coming up with off the top of his head algorithms, but you would never want to use his code in production becaus
If it is one of those occasions where you are not actually in need of a job but just 'window shopping', as it were. After about half an hour of that crap and when it is expected that you should give an answer (after all you wouldn't want to interrupt and appear rude) stand up slowly, not aggressively, and say something like:
"It is a long time since I've seen such outdated and deprecated interview techniques. I'm not sure that I want to work for a company that still uses them."
and slowly turn and walk away.
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.” I wouldn't let CG touch my Abacus! When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
-
If it is one of those occasions where you are not actually in need of a job but just 'window shopping', as it were. After about half an hour of that crap and when it is expected that you should give an answer (after all you wouldn't want to interrupt and appear rude) stand up slowly, not aggressively, and say something like:
"It is a long time since I've seen such outdated and deprecated interview techniques. I'm not sure that I want to work for a company that still uses them."
and slowly turn and walk away.
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.” I wouldn't let CG touch my Abacus! When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
Haha... I have walked out of one or two interviews in my life, but its been a while. I don't want to waste my time by "window shopping", so I rarely take interviews for jobs that I wouldn't take. If I'm gonna take time off of work, its gonna be for a job that I actually want. I think the job interview I walked out of was for Panasonic. I was ok with taking the test, but didn't want the job after they told me it would involve travel to Japan, so no point in taking the test.
-
harold aptroot wrote:
http://msdn.microsoft.com/en-us/library/f7fta44c.aspx[^], remarks section.
Yes it kind of sucks, but that's not my point - I'm just saying, "yes .NET has a tree somewhere hidden inside it".Well, I'll be, that is what it says. I dunno what its problem is then, cuz that is the gosh darnest slowest data structure I've ever seen in .NET.
harold aptroot wrote:
How would you use a hashmap to create huffman codes? (edit: ok obviously you can do that, but I mean "with a dictionary replacing the (implicit) tree")
I don't :). I use .NET's built in compression stuff :). Anyways, ok, so .NET uses a tree internally. I've written plenty of UIs that have used tree controls, but never actually store the underlying data in a tree structure. I've also worked on a lot of back-end stuff and never had to implement my own tree.
SledgeHammer01 wrote:
I use .NET's built in compression stuff
It sucks. Badly.[^] Besides it has nothing to help with huffman coding - the only thing it's actually useful for is inflating some deflated data (and deflating if you don't care about the compression ratio). So it doesn't even solve the problem.
SledgeHammer01 wrote:
I've also worked on a lot of back-end stuff and never had to implement my own tree.
That's some sneaky wording there, whose tree did you use?
-
Am I the only one who is annoyed by techie interviews? If you are in sales / marketing, your job interview is basically one where they see if your personality will mesh with the manager / team / company. If you don't make quota they get rid of you. If you are a manager / project manager / program manager / scrum master / human resources, etc. those too are generally personality fit questions. If you are in IT (network admin, desktop support, tech support, etc), they might ask you a few technical questions, or put you on a "test call". So why is it that software engineer interviews are "brutal"? I've been on some where you have a gang of 5+ people just hurling questions at you non stop til you are forced into the fetal position sucking your thumb and crying. I've been a software engineer for 17 yrs and have worked at several jobs for 4 or 5 yrs, so obviously I know what I'm doing, but I just had a phone screen where I was ridiculously hammered with big O questions and low level data structure questions. Ridiculous. When was the last time I wrote my own data structure and didn't use one provided by .NET? Probably 6 to 10yrs ago!! When was the last time I cared about big O notation? Probably 20 yrs ago in school! Big O notation doesn't have much use in the real world. I can easily write O(n ^ 3) that runs in 1ms vs. O(1) that takes an hour. Me personally, I generally write code using my first approach and then test it with real data... if it runs too slow, I'll optimize it. The process of optimizing is almost NEVER calculating the big O and unwinding complexity... its usually moving expensive calls out of the loop or fixing a stored proc or something of that nature. How about asking questions that are actually relevant to the job??? I had one guy turn me down because I couldn't go on the white board and write a regex to validate an email address off the top of my head (and I don't mean just something simple like a@a.com, he wanted almost full RFC spec validation). Now I get it... maybe you want to make sure the guy has good designs, etc. Unless he's an architect or team lead, I've almost never seen a mid level or even a sr guy "design" anything important. Its always by the principal guys and the architects and the lower level guys are just coders. Ok, so you don't want crappy code written? Unless you don't outsource, that ain't gonna happen. I know a guy who is much better then me at coming up with off the top of his head algorithms, but you would never want to use his code in production becaus
Even worse in my opinion is the long, multiple-interview processes that some of the more "desirable" employers have. It's not uncommon for there to be two phone screens, followed by a site visit, and then by another site visit or a business dinner. On at least two occassions, I have been in the midst of such a process, but have chosen to accept another offer from a company with a less convoluted hiring process. I really think these processes are set up to hire recent college graduates still living in a dormitory or with their parents. Who else has time for dinners, plane trips, interminable hair-splitting about Big O, etc.?
-
Am I the only one who is annoyed by techie interviews? If you are in sales / marketing, your job interview is basically one where they see if your personality will mesh with the manager / team / company. If you don't make quota they get rid of you. If you are a manager / project manager / program manager / scrum master / human resources, etc. those too are generally personality fit questions. If you are in IT (network admin, desktop support, tech support, etc), they might ask you a few technical questions, or put you on a "test call". So why is it that software engineer interviews are "brutal"? I've been on some where you have a gang of 5+ people just hurling questions at you non stop til you are forced into the fetal position sucking your thumb and crying. I've been a software engineer for 17 yrs and have worked at several jobs for 4 or 5 yrs, so obviously I know what I'm doing, but I just had a phone screen where I was ridiculously hammered with big O questions and low level data structure questions. Ridiculous. When was the last time I wrote my own data structure and didn't use one provided by .NET? Probably 6 to 10yrs ago!! When was the last time I cared about big O notation? Probably 20 yrs ago in school! Big O notation doesn't have much use in the real world. I can easily write O(n ^ 3) that runs in 1ms vs. O(1) that takes an hour. Me personally, I generally write code using my first approach and then test it with real data... if it runs too slow, I'll optimize it. The process of optimizing is almost NEVER calculating the big O and unwinding complexity... its usually moving expensive calls out of the loop or fixing a stored proc or something of that nature. How about asking questions that are actually relevant to the job??? I had one guy turn me down because I couldn't go on the white board and write a regex to validate an email address off the top of my head (and I don't mean just something simple like a@a.com, he wanted almost full RFC spec validation). Now I get it... maybe you want to make sure the guy has good designs, etc. Unless he's an architect or team lead, I've almost never seen a mid level or even a sr guy "design" anything important. Its always by the principal guys and the architects and the lower level guys are just coders. Ok, so you don't want crappy code written? Unless you don't outsource, that ain't gonna happen. I know a guy who is much better then me at coming up with off the top of his head algorithms, but you would never want to use his code in production becaus
Quote:
I've been a software engineer for 17 yrs and have worked at several jobs for 4 or 5 yrs, so obviously I know what I'm doing...
That's no guarantee... I've met several people who meet that exact description and have absolutely no idea what they're doing. They just hold their jobs for those 4 or 5 years because their managers know even less than they do. :rolleyes:
Be The Noise
-
Even worse in my opinion is the long, multiple-interview processes that some of the more "desirable" employers have. It's not uncommon for there to be two phone screens, followed by a site visit, and then by another site visit or a business dinner. On at least two occassions, I have been in the midst of such a process, but have chosen to accept another offer from a company with a less convoluted hiring process. I really think these processes are set up to hire recent college graduates still living in a dormitory or with their parents. Who else has time for dinners, plane trips, interminable hair-splitting about Big O, etc.?
Yes! I live in Southern California and had an interview with Google (in the local office). Obviously, a desirable place to work. Their interview process is as follows: 1) submit resume <3 **month** wait> 2) "hello from google" email wanting to schedule an HR screen... reply back with your availability for the next 2 weeks... I respond back immediately. <1 **week** wait> 3) get a response from the HR guy scheduling my HR screen for a week and a half out <1.5 **week** wait> 4) 30 minute HR screen asking me mostly useless questions (where did you work last, etc.) <2 week wait> 5) another email from google saying they want to schedule a technical phone screen, reply back with your availability for the next 2 weeks. Again I respond immediately. <2 week wait> 6) get a response from the HR guy scheduling my technical phone screen (1hr) for a week out <1 week wait> 7) technical phone screen... not really brutal at all, kind of just gave me one problem and asked how I would solve it and then delved in deeper <2 week wait> 8) hear back from google, they want to bring me in... except even though I'll be working in an office 5 minutes from my house, the interview must be done at HQ, so they need to know the closest airport and how many days I need to stay, etc. <1 week wait> 9) hear back with my hotel and flight arrangements <2 week wait + have to take 2 days off work> 10) fly up to Northern Cal the night before and stay in the hotel... have to pay for my own rental car that will be re-embursed later on 11) 8 hour interview 12) fly back home All in all, I spent close to 6 **MONTHS** from resume submittal to getting turned down. What an utter and complete waste of time. It took another 1 month to get re-embursed for my expenses. While I obviously would have taken the job, I was still highly annoyed at the long, drawn out procedure. Interviewed with Amazon and didn't get past the phone screen, but that was 2 or 3 weeks for 1 HR screen and 2 tech screens. They responded to my resume after 2 or 3 days.
-
Yes! I live in Southern California and had an interview with Google (in the local office). Obviously, a desirable place to work. Their interview process is as follows: 1) submit resume <3 **month** wait> 2) "hello from google" email wanting to schedule an HR screen... reply back with your availability for the next 2 weeks... I respond back immediately. <1 **week** wait> 3) get a response from the HR guy scheduling my HR screen for a week and a half out <1.5 **week** wait> 4) 30 minute HR screen asking me mostly useless questions (where did you work last, etc.) <2 week wait> 5) another email from google saying they want to schedule a technical phone screen, reply back with your availability for the next 2 weeks. Again I respond immediately. <2 week wait> 6) get a response from the HR guy scheduling my technical phone screen (1hr) for a week out <1 week wait> 7) technical phone screen... not really brutal at all, kind of just gave me one problem and asked how I would solve it and then delved in deeper <2 week wait> 8) hear back from google, they want to bring me in... except even though I'll be working in an office 5 minutes from my house, the interview must be done at HQ, so they need to know the closest airport and how many days I need to stay, etc. <1 week wait> 9) hear back with my hotel and flight arrangements <2 week wait + have to take 2 days off work> 10) fly up to Northern Cal the night before and stay in the hotel... have to pay for my own rental car that will be re-embursed later on 11) 8 hour interview 12) fly back home All in all, I spent close to 6 **MONTHS** from resume submittal to getting turned down. What an utter and complete waste of time. It took another 1 month to get re-embursed for my expenses. While I obviously would have taken the job, I was still highly annoyed at the long, drawn out procedure. Interviewed with Amazon and didn't get past the phone screen, but that was 2 or 3 weeks for 1 HR screen and 2 tech screens. They responded to my resume after 2 or 3 days.
Congrats on making it that far, however. Can you say what the potential position was?
The difficult we do right away... ...the impossible takes slightly longer.
-
Congrats on making it that far, however. Can you say what the potential position was?
The difficult we do right away... ...the impossible takes slightly longer.
Yeah, it was 2yrs ago. Google, much like Amazon doesn't hire you for a particular position. They only want generalists. "Generalists" to both of them basically means you are an AWESOME off the cuff algorithm guy. Big O notation, data structures, algorithm analysis, etc. They don't even care what language you use. They think if you are good at the Big O & data structures, you can do it in any language. None of the interviewers asked me anything about databases, UI design, MFC, browser plug-ins, etc (the actual description of the job I applied for). You'll notice most of their current job descriptions are just generic ads for software engineers. Seems like its mostly a Linux / Java shop now.
-
Congrats on making it that far, however. Can you say what the potential position was?
The difficult we do right away... ...the impossible takes slightly longer.
-
I can't speak for the OP, but every time I've tried to get on with one of those high-prestige tech companies, the job title has been "Software Engineer in Test".
I read that as "Software Engineer in Jest" :laugh:
The difficult we do right away... ...the impossible takes slightly longer.
-
I read that as "Software Engineer in Jest" :laugh:
The difficult we do right away... ...the impossible takes slightly longer.