Register FAQ / Rules Forum Spy Search Today's Posts Mark Forums Read
Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Feb 27, 2013, 01:25 PM   #1
ArtOfWarfare
macrumors 603
 
ArtOfWarfare's Avatar
 
Join Date: Nov 2007
Send a message via Skype™ to ArtOfWarfare
Help Preparing for Interview

I passed an initial screen phone call and have a face to face interview scheduled in two weeks for this job:

Quote:
Responsibilities
- Write, test, and deploy new software on a daily basis
- Active participation in front-end product design and back-end architecture
- Work directly with members of the Engineering team in a fast-paced agile development environment
- Research new technology and innovative approaches to solving complex problems
Qualifications
- A rock-solid foundation in CS, algorithms, and data structures
- Experience with Ruby/Rails, JavaScript, HTML & CSS, NoSQL DBs, and large-scale web sites a plus, but not required
- Familiarity with unix
- Familiarity with revision control systems, such as git
I have tons of experience with iOS, OS X, Android, C, Obj-C, C++, and Java... Unfortunately, that's not on this list at all. I have minimal experience with HTML, JS, CSS, JQ, and GIT... although I feel like I completely misuse GIT.

I have about two weeks to prepare for this interview. Which topics should I focus on learning about and what materials would you recommend?
ArtOfWarfare is offline   0 Reply With Quote
Old Feb 27, 2013, 08:03 PM   #2
lee1210
macrumors 68040
 
lee1210's Avatar
 
Join Date: Jan 2005
Location: Dallas, TX
I really don't want to rain on anyone's parade, but:
The "responsibilities" section forgoes real content for buzzwords and generic bullet points. "You mean part of this development job is writing software? And there is a front AND back end?"
The qualifications portray a really narrow scope. They're making a rails app with a NoSQL persistence layer and manage code with git. They'd like it if you already did the exact same thing (though it's not required).

I would focus on a review of fundamentals. You can try to get a handle on Ruby, then RoR, then a NoSQL DB, then bone up on JavaScript, then get a rudimentary understanding of the CSS box model, etc. Then you'll know a little bit, and an interviewer that focuses on any of these will see right through it. I would be perfectly honest about your lack of experience with the tech they use, but express an eagerness to learn (assuming you are, of course).

For algorithms and data structures, I'd try to find a few problems online and work through them. I'd write in Java, as it's nearly universally understood. When you write solutions make sure they are correct, and you know some good test cases to exercise that, including a lot of edge cases. Nulls, empty structures, invalid/incomplete input, etc. Understand the runtime and space complexity. Try to think of ways to compromise one for the other and places to optimize both. Know complexities of common operations on a variety of data structures. Know a few operations for each runtime complexity for 1, logn n, nlogn, n^2. If you aren't familiar with this stuff, try to solidify understanding of what you know before attempting to get a shallow understanding of new things. Be honest about what you don't know. Don't fake it.

If you don't know something at all, you probably won't master it in two weeks. If you want to know something about a subject that's fine, but be honest about having read some info over two weeks.

Read about the company, and know things you want to know that aren't easy to find out. Ask about their culture, especially things that are important to you. Find out if they write unit tests. Find out if they use automation testing. Find out if they do code reviews. See what their release schedule is. Find out about on-call schedules. Find out if they crunch and for how long. Be clear about your standards for this stuff (if you don't have any, get some), and that you want to know so you understand the environment, not because you're unwilling to be flexible on any of it.

2 days before the interview, stop all of this. If you've made some notes you can read them over a few times, but don't obsess. Relax. Understand that this needs to be a good fit for them and for you. Be confident in what you do know and realistic about what you don't. Get some sleep. Eat a decent meal as appropriate for the time of day. Breathe. Don't rush to answer their questions, and ask for clarification and verify any and all assumptions. If you're thinking, let them know and talk through the thought process if you're comfortable doing so.

Good luck

-Lee
lee1210 is offline   2 Reply With Quote
Old Feb 28, 2013, 06:26 AM   #3
ArtOfWarfare
Thread Starter
macrumors 603
 
ArtOfWarfare's Avatar
 
Join Date: Nov 2007
Send a message via Skype™ to ArtOfWarfare
Quote:
Originally Posted by lee1210 View Post
I would focus on a review of fundamentals. You can try to get a handle on Ruby, then RoR, then a NoSQL DB,
Do you have any particular resources you'd suggest for learning this stuff?

And I don't need to fake - I was clear during the screening phone call about what I already know and don't know, as well as what I'd like to learn. I have found that if you spend every waking moment from the screening call until the interview learning what you didn't know, you will be handed an offer. That's how I got my Android development job with no prior experience with Java or Android or anything else we used.
ArtOfWarfare is offline   0 Reply With Quote
Old Feb 28, 2013, 08:03 AM   #4
robvas
macrumors 68000
 
Join Date: Mar 2009
Location: USA
Quote:
Originally Posted by ArtOfWarfare View Post
Do you have any particular resources you'd suggest for learning this stuff?
Get started with Ruby in the browser:

http://tryruby.org/levels/1/challenges/0

Rails tutorial online that also is a git tutorial:

http://ruby.railstutorial.org/ruby-o...-tutorial-book
robvas is offline   0 Reply With Quote
Old Mar 2, 2013, 09:42 AM   #5
ArtOfWarfare
Thread Starter
macrumors 603
 
ArtOfWarfare's Avatar
 
Join Date: Nov 2007
Send a message via Skype™ to ArtOfWarfare
Thanks for those links!

I just finished the first ruby tutorial link and am now about to download the RVM or whatever it is it told me to.
__________________
Battery Status - On the Mac App Store
The only app that'll estimate when your wireless devices will need their batteries changed.
Including the ones paired with other Macs on your network.
ArtOfWarfare is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
Preparing to sell Neiloid Buying Tips and Advice 7 Nov 2, 2012 04:00 AM
Preparing my 4S for resale... hakr100 iPhone 9 Oct 8, 2012 09:24 PM
Preparing for iPhone 5 ghsNick iPhone 2 Sep 6, 2012 12:38 PM
iPhone: Preparing for iOS6 King Bowser Jailbreaks and iOS Hacks 7 Aug 15, 2012 05:47 PM
iPhone: Preparing for iOS6 King Bowser Jailbreaks and iOS Hacks 1 Aug 15, 2012 09:52 AM

Forum Jump

All times are GMT -5. The time now is 04:29 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC