|
Super Dude posted:Well I've got an interview with Microsoft tomorrow. Anyone have any tips or comments about their interview process? (It's an interview at my university if that makes a difference.) I just had an on-campus first round interview with them last week. I didn't really prepare at all since I have another offer I'm leaning towards. They started by asking why I was interested in the position I had indicated on the interest form, to describe the most difficult aspect of a project I had worked on, a piece of technology I think is interesting and how I would improve it, and then technical questions. Honestly, I thought I bombed the technical questions, but I made it to the next round. I would suggest doing the usual interview preparation, and try to not get nervous since the first round isn't all that difficult apparently. I have a question about choosing between internship opportunities. I'm currently a Junior in CS. I interned at a place that I really liked last summer, and I'm probably going back next summer. The corporate culture was great and they were very accommodating. The pay was good and it seems like a nice place to start a career, but it definitely doesn't have the name recognition or size of Microsoft or Google. I know that career experience is all that really matters after a few years out of college, and I think there are plenty of good opportunities at my current employer. Should I be thinking hard about offers from big names like Microsoft and Google, or just go with what I know I liked? I plan on interviewing more seriously for my real job offers next year, but I'm not sure it really matters for internships.
|
# ? Oct 14, 2011 03:39 |
|
|
# ? May 4, 2024 10:10 |
|
brainwrinkle posted:They started by asking why I was interested in the position I had indicated on the interest form Or maybe it is, as the Microsoft interview process did a pretty good job of convincing me that I'd never want to work there.
|
# ? Oct 14, 2011 05:42 |
|
shrike82 posted:I've noticed that UK posters ITT seem to throw out 10-20K GBP as standard starting salaries across the pond. Is that for real? That seems ridiculously low to me. Salaries are generally lower in Blighty than in America, and it depends on the specific sector. To put it in context, the UK median salary for people in 2005 in the 20-24 year bracket was 11.8k (source). About 5 years ago, entry level programming/IT positions in Government outside of London were around 21-23k and in London were around 27k, but that was 5 years ago. You get more in finance. Anything less than 20k for a graduate level development position is pretty shocking though - it might be different for web developers though.
|
# ? Oct 14, 2011 14:20 |
|
Well I thought the Microsoft interview went alright. After I told him I had taken an operating systems course, the programming questions took a complete 180 and I was asked some rather in-depth questions about various OS topics that I wasn't really expecting.
|
# ? Oct 14, 2011 22:21 |
|
I've just started as a graduate level trainee analyst programmer on 19k in Birmingham, but I have an astrophysics degree and my company trains people up rather than hiring computer science grads (because we use RPG and I don't think they even teach that anywhere these days). I had a bit of knowledge from some SQL I used in my dissertation and self-taught Excel VBA in my last job but it's still been a steep learning curve, are there many other people around going into programming from non-computer degrees? (also I am actually 27 not 21 which is another set of weirdness but somehow one of the other newbies is 26 so not as bad as it could be)
|
# ? Oct 15, 2011 15:30 |
|
shabutie posted:I've just started as a graduate level trainee analyst programmer on 19k in Birmingham, but I have an astrophysics degree and my company trains people up rather than hiring computer science grads (because we use RPG and I don't think they even teach that anywhere these days). I had a bit of knowledge from some SQL I used in my dissertation and self-taught Excel VBA in my last job but it's still been a steep learning curve, are there many other people around going into programming from non-computer degrees? I was in much the same boat as you. Physics degree, got a programming job at a company doing COBOL without any experience at 26. After a bit I managed to move myself into C++ and C#, and now (4 years later) I'm quitting to move to a cushy programming job with the government. It was rough teaching myself everything I needed to know from scratch, but it's entirely doable (programming is one of the few fields where that's possible, I guess). Just stick with it, don't worry about age or anything. It's a great profession, and I couldn't really imagine leaving it now.
|
# ? Oct 15, 2011 19:01 |
|
Just graduated a while back (something cum laude or other). Recently a job came up that I was excited for in a nearby non-profit. I've sent an application two weeks ago and didn't hear anything from them. Should I just call up their HR department and see if I am still being considered?
|
# ? Oct 17, 2011 21:04 |
ShinAli posted:Just graduated a while back (something cum laude or other). Recently a job came up that I was excited for in a nearby non-profit. I've sent an application two weeks ago and didn't hear anything from them. Should I just call up their HR department and see if I am still being considered? It wouldn't hurt, and you should keep applying to other places too.
|
|
# ? Oct 17, 2011 21:27 |
|
Seawaffle/shabutie, how did you guys manage to make the switch? I have an electrical engineering/physics/mathematics background but in recent years I've been doing a fair amount of programming on physics simulators and experimental hardware automation. I really like it and want to move more in that programmer-ish direction. How should I pitch this kind of background to an employer in a way that would make them decide to take a chance on me instead of someone with a more traditional CS background? On the pro side, I've got a good low-level understanding of how computers work and actually get more comfortable when things get down to the bit-flipping level. Strong math skills, including a decent grounding in numerical methods. I've done a lot of hardware interop code, and have written mini operating systems for microcontrollers in straight-up assembly. On the con side, I have little experience in higher-level stuff like system architecture. I understand concepts like big-O notation but I don't have the mental list of "use mergesort for this problem but use quicksort for that problem" that most traditional CS grads seem to take for granted, and I worry that I'd get bounced for that in an interview. That is, if my lack of a formal CS degree even got me to the interview stage. Should I gin up some project, put it in whatever public repository and just try to use that as proof that I can program in some capacity? Are there any specific fields that would value the physics/math stuff over pure CS?
|
# ? Oct 18, 2011 02:49 |
|
PDP-1 posted:"use mergesort for this problem but use quicksort for that problem" that most traditional CS grads seem to take for granted For almost all applications, you just use whatever the built-in sort for the language is (timsort )
|
# ? Oct 18, 2011 03:21 |
|
Yeah, but the bigger issue is that interviews for programming jobs seem to like to harp on these kind of questions. I can handle basic FizzBuzz or 'reverse a linked list' type questions, but knowing the 57 types of sort algorithms and their time/memory/worst-case/average-case performance is the kind of stuff you only pick up by sitting through a formal algorithms class. They may not be the most practical questions in real life where a default sort method is often available, but it's what the interviewer is likely to ask about. sleepsort 4 lyfe.
|
# ? Oct 18, 2011 04:51 |
|
PDP-1 posted:Yeah, but the bigger issue is that interviews for programming jobs seem to like to harp on these kind of questions. I can handle basic FizzBuzz or 'reverse a linked list' type questions, but knowing the 57 types of sort algorithms and their time/memory/worst-case/average-case performance is the kind of stuff you only pick up by sitting through a formal algorithms class. They may not be the most practical questions in real life where a default sort method is often available, but it's what the interviewer is likely to ask about. http://en.wikipedia.org/wiki/Sorting_algorithm In addition, you really don't need to know all of them. You should definitely know mergesort, quicksort, and heapsort, as they cover most cases, and a few of the non-comparison sorts like bucket or radix sort. Also memorize quantum bogosort because it's funny and would honestly probably net you bonus points in an interview. Orzo fucked around with this message at 05:10 on Oct 18, 2011 |
# ? Oct 18, 2011 05:08 |
|
PDP-1 posted:How should I pitch this kind of background to an employer in a way that would make them decide to take a chance on me instead of someone with a more traditional CS background? Realize that, assuming you have a fairly high level of ability at the things you've talked about doing (and it smells like you do), you're already a "good programmer," better than a lot of CS grads. Realize that you should consider "the good CS grads" as your competitors, not the general mediocre CS graduate. PDP-1 posted:On the con side, I have little experience in higher-level stuff like system architecture. I understand concepts like big-O notation but I don't have the mental list of "use mergesort for this problem but use quicksort for that problem" that most traditional CS grads seem to take for granted, and I worry that I'd get bounced for that in an interview. That is, if my lack of a formal CS degree even got me to the interview stage. The biggest risk I'd be concerned about is that you might not have the general sense of good software design that people who've programmed a lot and been thoughtful about it would tend to have. Realize that most CS grads don't have a lot of "pure CS" ability, even in core concepts like data structures. (I could cite the example of a CS student in his senior year claiming that arrays and linked lists are the same thing.) A good way to bring yourself up to speed on basic data structures and algorithms is to implement them. You don't want to just memorize this poo poo. Quicksort, mergesort, etc, are not hard to implement. Implement the C++ STL, in whatever order you find the most interesting or mysterious. (Skip the stuff in <functional>, restrict yourself to vector, map, set, <algorithm>, list, deque, unordered_map.) Do it in whatever language you want, if you don't know or don't want to know C++. Note that this advice is overkill. The mini version: Implement a red-black tree with all the features of std::map, implement mergesort for a singly linked list, and implement a priority queue (using the heap representation that gets flattened into an array), implement quick sort (on arrays), merge sort (on arrays), implement the function that turns a binary tree into a doubly linked list with its elements in the same left-to-right order, in-place, and implement a hash table. For extra credit: Learn about immutable datastructures (often called "functional data structures"). Learn how to make immutable queues and trees. Perhaps there is a bunch of practical knowledge or whipituptitude that you're possibly missing. Do you know how to use regexes? Another question: What if you've got a C program, and I suggested writing a little script that figured out all the header file dependencies within your project. How would you do that? Another: If we wanted to store some data on disk, how would you do that? What if you wanted to pull some data out of an Excel file? How would you do that? (The last two questions are unrealistic on their own because they lack the situational context that would make giving a specific answer possible. If you created a certain situation, would you be able to work your way out of it?) Fortunately, all inexperienced developers are bad at some of these questions, especially the last two. PDP-1 posted:Should I gin up some project, put it in whatever public repository and just try to use that as proof that I can program in some capacity? That's always a good idea. Employers usually won't look closely at the project, other than the title -- they'll just see that you're the sort of person that has side projects, and it's usually enough to get them to phone screen you. PDP-1 posted:Are there any specific fields that would value the physics/math stuff over pure CS? Yes.
|
# ? Oct 18, 2011 07:59 |
|
shrughes posted:A good way to bring yourself up to speed on basic data structures and algorithms is to implement them. ... Note that this advice is overkill. gently caress me that's sad. Still true though.
|
# ? Oct 18, 2011 10:43 |
|
When I talked about my degree I would always try and emphasise creative problem solving and mathematics as the two main skills that were transferable to pretty much anything I was applying for. I was actually looking for analytical jobs rather than programming jobs when I found this one. The company I work for produces software for the finance industry and in general that tends to be an industry that really values maths/physics grads. Probably your best bet if you don't mind being a capitalist slave (I was unemployed too long to care about it).
|
# ? Oct 18, 2011 19:41 |
|
Thanks for the replies, and especially shrughes for the detailed answer. It seems like the thing to do is to quit pussyfooting around not knowing some CS basics and just get a couple of books on data structures / algorithms to work through while implementing the major stuff along the way. I'd like to avoid super corporate stuff like financial if possible. I'm currently working as a self-employed consultant building custom experimental setups for PhD types and it makes for a nice mix of physics/engineering/programming. Funding is getting slashed everywhere right now though and new projects are getting hard to come by, so the programming slant seems to be the Plan B with the highest job mobility if I work at it a bit harder. Learning more CS fundamentals will help me out whether I end up sticking with my current job or moving on to something else. Win/win.
|
# ? Oct 19, 2011 00:28 |
|
For all the people that have worked as an interviewer- What % of the applicant pool is actually competent, i.e. you'd be willing to hire them? I know everyone says it's low, especially when interviewing fresh CS grads, but how low? 50%? 33%? Has anyone that has had a good amount of previous experience missed a totally obvious question? Just curious
|
# ? Oct 19, 2011 01:55 |
|
Pie Colony posted:What % of the applicant pool is actually competent, i.e. you'd be willing to hire them? I know everyone says it's low, especially when interviewing fresh CS grads, but how low? 50%? 33%? Less than that. I don't filter resumes, it's less than that for people who get to the phone screen. Less than 20% of people who get to the phone screen. For my current and previous employer. Pie Colony posted:Has anyone that has had a good amount of previous experience missed a totally obvious question? Absolutely yes. "Experienced" people who send in resumes out of the blue are uniformly awful. Well, some are worse than others.
|
# ? Oct 19, 2011 03:01 |
|
Pie Colony posted:For all the people that have worked as an interviewer- I've had bad experiences or insanely high expectations, but most people I've interviewed were terrible, and this is for midlevel-to-senior developer positions. Like, 20% of the phone interviews were worth in-persons, and of the in-persons, only a handful were worthwhile. Generally speaking, a good candidate who bombs on an easy question will probably get a few more off-the-cuff questions in and around the same area, just to get a sense for why they didn't know it. Experience gap? Rote memorization failure? Misunderstanding?
|
# ? Oct 19, 2011 03:12 |
|
One of the bigger problems with resumes/self-stated experience is that there's no qualifier for the amount of experience. Did you write "hello world" in C++ once 10 years ago or have you been writing with it exclusively every day for the past 2 years? Whatever, it says "C++" under their skills so they must know it competently, right? I always attempt to get a qualifier for those skills or experience sets on the phone before bothering to do an in-person.
|
# ? Oct 19, 2011 16:56 |
|
Normally people who have actually done things with the language list any major projects or work alongside the language. Those who haven't done anything useful with it normally just put a time in. Whenever I see '10 years experience C++' I'm pretty sure that means 'One year over and over again ten times'
|
# ? Oct 19, 2011 17:08 |
|
tef posted:Whenever I see '10 years experience C++' I'm pretty sure that means 'One year over and over again ten times' Hahaha I love that saying. As for the bad candidates %, my experience is pretty much the same as Ithaqua's. I've only been interviewing for about a year and only have 2 years of experience under my belt but it's obvious who's worth it.
|
# ? Oct 19, 2011 17:48 |
|
There's a lot of dross out there when it comes to developer-candidates. I think the going rate at my firm is 400-500 flagged resumes to an offer.
|
# ? Oct 19, 2011 21:49 |
|
Pie Colony posted:For all the people that have worked as an interviewer-
|
# ? Oct 19, 2011 22:17 |
|
This thread has made me very intimidated to eventually look for an internship semi-soon.
|
# ? Oct 20, 2011 00:51 |
Is it just my imagination or are 80% of jobs completely skewed towards C# right now? Looking through some postings, pretty much all of the development jobs in the area seem to list it as a requirement or preference. I'd still like to learn Objective-C (as I've been trying to), but it seems as if there's no real market for it right now.
|
|
# ? Oct 20, 2011 00:57 |
|
Cicero posted:Keep in mind though, that even if the vast majority of interview candidates are idiots, this doesn't actually mean most career programmers in general are idiots. Competency is negatively correlated with time spent looking for a job; good coders get hired rapidly, sucky ones take forever to find a job, and thus go through far more interviews. That's very true. Good programmers are never on the market for long. Even if you like someone and extend an offer, there's a decent chance they'll end up taking a different offer, or just not want to work for you for whatever reason. Sulk posted:Is it just my imagination or are 80% of jobs completely skewed towards C# right now? Looking through some postings, pretty much all of the development jobs in the area seem to list it as a requirement or preference. I'd still like to learn Objective-C (as I've been trying to), but it seems as if there's no real market for it right now. It varies from region to region, but in the northern NJ/NYC area, C# is a very hot language. It works out great for me! Objective C is a lot more of a niche language at the moment, for better or worse. New Yorp New Yorp fucked around with this message at 03:01 on Oct 20, 2011 |
# ? Oct 20, 2011 02:58 |
|
So earlier this week, I had an on campus interview. After the normal small talk, we got to the technical question. The gist of it was that I was to take in a string and return a list of all the anagrams of it. I had to make a constructor that took in a file name, which contained the dictionary of words, and the anagramer method which took in the string. I started out with mentioning the brute force approach of permuting the string, and checking it against the dictionary, but discarded it as way to slow (O(n!)). After that, I suggested I make a trie out of the dictionary, and then just go though that to eliminate creating all of the non-words. However, I hosed up here because I said it was O(n^2), even though I later realized it is still O(n!) due to the worst case of all anagrams making words. They asked me if I was happy with this technique, and I realized they were pushing me to make it more efficient. I then remember an important thing for questions where they ask you to do both the start up and the actual actions as seperate things: Ask about importance of construction time vs time for the other method. In hindsight, I think it was kind of obvious that they wanted me to do most of the work in the constructor becuase otherwise they would have just given me a function to look-up a word in a dictionary. I realized that I could make a map, where I mapped strings to a list of strings. So I had a hashmap where every word in the dictionary had its entire list of anagrams ready to be retrieved in O(1) theoretically. I got pushed further to reduce the memory usage, and decided to "Hash" the keys by sorting the letters in the word alphabetically since there would be only one entry in the map for any given list of anagrams. So my question is, how well did I deal with question? Also, I wanted to complain because one of my friends also interviewed with them that day, and all he had to do was find a node in a BST
|
# ? Oct 20, 2011 03:29 |
|
Fastest way I can think of off the top of my head would be some sort of recursion where you don't pursue identical substrings as they're built. You probably did fine from the sounds of it. e: good morning, I didn't read the question clearly before bed and thus failed the interview ha, missed the provided dictionary part Pweller fucked around with this message at 14:15 on Oct 20, 2011 |
# ? Oct 20, 2011 03:57 |
|
Your final solution to that is good but your discussion about runtime cost was not. Halfway through your post you seemed to change your definition of n from 'size of string' to 'size of dictionary'. When you were talking about using a map, if you'd kept n as size of string then your cost would be equal to the cost of your hashing+string equality algorithm (O(n)), and when you made your modification to sort the characters then you'd also have to take into account the cost of sorting the string as well (making it O(n log n) most likely). That said, if you got to that solution without them spoon-feeding you then you've probably done well. If you're still at college then they're looking more for potential than anything else, and being able to construct a solution to a problem like that on the spot indicates that you do have some potential. Contra Duck fucked around with this message at 00:13 on Oct 21, 2011 |
# ? Oct 20, 2011 03:59 |
Ithaqua posted:It varies from region to region, but in the northern NJ/NYC area, C# is a very hot language. It works out great for me! I'm basically looking in that general area, Philadelphia included, so it's basically the same thing. I'd say 4/5 jobs that are posted on Craigslist want C# programmers. I feel like Objective-C is going to be extremely hot in 2-3 years, but it's tough because I feel like I should learn what's most in demand (at least regionally) right now. Is it a poor sentiment to have? Every time I look at job postings I just get sad
|
|
# ? Oct 20, 2011 04:08 |
|
Sulk posted:I'm basically looking in that general area, Philadelphia included, so it's basically the same thing. I'd say 4/5 jobs that are posted on Craigslist want C# programmers. I feel like Objective-C is going to be extremely hot in 2-3 years, but it's tough because I feel like I should learn what's most in demand (at least regionally) right now. Is it a poor sentiment to have? Every time I look at job postings I just get sad Learn what you want to learn! Some people learn Piet and Brainfuck for fun.
|
# ? Oct 21, 2011 12:38 |
|
Sulk posted:I'm basically looking in that general area, Philadelphia included, so it's basically the same thing. I'd say 4/5 jobs that are posted on Craigslist want C# programmers. I feel like Objective-C is going to be extremely hot in 2-3 years, but it's tough because I feel like I should learn what's most in demand (at least regionally) right now. Is it a poor sentiment to have? Every time I look at job postings I just get sad I don't hire people so I could be way off base here, but if I had two candidates for a C# job, one who's never touched the stuff and one who started learning it last week, I'd have two equal candidates. So I say spend your time learning something you want to learn, because you'll learn more of it in a given timeframe.
|
# ? Oct 21, 2011 13:20 |
|
For anyone here who's given job offers in the 90-100k salary range before, how often do you expect a counter to your initial offer from a candidate?
|
# ? Oct 21, 2011 14:03 |
|
nachos posted:For anyone here who's given job offers in the 90-100k salary range before, how often do you expect a counter to your initial offer from a candidate? Why would the offered salary matter for counteroffers? If you have a reason to ask for more, go ahead. I worked with a headhunter to look for my 2nd job out of college. One of the offers was for a bit more than your range which seemed reasonable to me. The headhunter told me to make a counteroffer that was >25% higher. HR grumbled but accepted in the end. Didn't take the offer though.
|
# ? Oct 21, 2011 14:29 |
|
Sulk posted:I'm basically looking in that general area, Philadelphia included, so it's basically the same thing. I'd say 4/5 jobs that are posted on Craigslist want C# programmers. I feel like Objective-C is going to be extremely hot in 2-3 years, but it's tough because I feel like I should learn what's most in demand (at least regionally) right now. Is it a poor sentiment to have? Every time I look at job postings I just get sad That said, you might have a harder time finding an entry-level job versus RoR, C# or Java, as Objective-C development is more specific than generic web/backend development. But if you can get a few polished apps in the store and can market yourself, you should do well either contract or fulltime. And, umm, any great Objective-C programmers open to working in NYC on an amazing product please contact me
|
# ? Oct 21, 2011 15:11 |
|
Does anyone have any experience interviewing with Amazon? I have a phone screen coming up. I'm graduating with a CS degree this year and have been applying for my first Real Job, so any tips would be appreciated. I must say, I feel a little overwhelmed and nervous. I have this feeling I'm a jack of all trades, master of none... I've crammed an awful lot of material into my brain over the past few years, yet haven't really worked with any one particular language long enough to confidently say I'm an expert. Am I just being paranoid and is this feeling common with new grads? What's typically expected from new grads in interviews and the workplace?
|
# ? Oct 21, 2011 15:45 |
|
Crumbles posted:Does anyone have any experience interviewing with Amazon? I have a phone screen coming up. From what I understand, the phone screens are primarily to determine that you're not pants-on-head retarded, and the real interviews are the ones you get in-person.
|
# ? Oct 21, 2011 18:04 |
|
Crumbles posted:Does anyone have any experience interviewing with Amazon? I have a phone screen coming up. Agreed, the questions are pretty straightforward. My interviewers didn't use collabedit or Google Docs or anything and simply had me write code out by hand, so make sure you've got a pad of paper and pencil handy and not just your laptop.
|
# ? Oct 21, 2011 18:26 |
|
|
# ? May 4, 2024 10:10 |
|
If they have you "write out the code by hand," wouldn't you just type it up in a text editor?
|
# ? Oct 21, 2011 18:45 |