• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Programming |OT| C is better than C++! No, C++ is better than C

Antagon

Member
IntelliJ is much much much better than Eclipse, especially for code completion and AndroidSDK development. I love it, but unfortunately it's not free.

As far as JS development goes, most of the full time web developers that I work with just use SublimeText with a bunch of add ons.

There's a free version that's still pretty good, though it misses the code completion for Javascript. The Ultimate Edition is really worth it if you write code for a living though.

If you have to switch to other pc's often I'd think about using a cloud storage service. You can change the config/plugin directory to some directory that's automatically shared by onedrive/dropbox. Or maybe a fast external drive?
 

Koren

Member
Stop getting banned cppking
:V
What happened? :/

Having some trouble conceptualizing the run time.

Let's say I run Dijkstra's algorithm on every single vertex in graph. Or V times.

A single run of the algorithm is O(E + V lg V). What is the run time of an algorithm that calls an "O(E + V lg V)" V number of times? times?
Remember that O(f(x, y, z)) means that there is a real alpha so that any execution time (or space required) is less than alpha times f(x, y, z)

If you just run something K times, the total time is obviously less than K times alpha times f(x, y, z) so it's O(K f(x, y, z)) It's ALWAYS true.

But in some situations, you can find a lower majoration
Mostly in two specific situations:
- there's some memoization involved, so later computations go quicker
- the O(...) for a single run is for a rare case, and by doing it on a large number of cases or all of them, it doesn't apply

For the latter, think that if a single run of a basic implementation of quick sort is O(n^2), running it over all n! permutations of a list would be O(n! n log(n)) and not O(n! n^2)


No problem here, unless you have a really special ijmplementation of dijkstra...

IntelliJ is much much much better than Eclipse, especially for code completion and AndroidSDK development. I love it, but unfortunately it's not free.

As far as JS development goes, most of the full time web developers that I work with just use SublimeText with a bunch of add ons.
Is it iseful for something else than Java? Is it hard to setup?
(doesn't seem too bad to launch on Linux, at least)
 

Antagon

Member
What happened? :/


Remember that O(f(x, y, z)) means that there is a real alpha so that any execution time (or space required) is less than alpha times f(x, y, z)

If you just run something K times, the total time is obviously less than K times alpha times f(x, y, z) so it's O(K f(x, y, z)) It's ALWAYS true.

But in some situations, you can find a lower majoration
Mostly in two specific situations:
- there's some memoization involved, so later computations go quicker
- the O(...) for a single run is for a rare case, and by doing it on a large number of cases or all of them, it doesn't apply

For the latter, think that if a single run of a basic implementation of quick sort is O(n^2), running it over all n! permutations of a list would be O(n! n log(n)) and not O(n! n^2)


No problem here, unless you have a really special ijmplementation of dijkstra...


Is it iseful for something else than Java? Is it hard to setup?
(doesn't seem too bad to launch on Linux, at least)

To get an idea about Intellij's language support, check their community/ultimate comparison matrix:

https://www.jetbrains.com/idea/features/editions_comparison_matrix.html

In general, Intellij feels like a more mature product compared to Eclipse. There can still be some work to set it up depending on what you want, but generally the default install is already very usable for most standard stuff out of the box. And like I said, you can change the configuration/plugin folders so you could change this to something that you can easily share.

Edit: The main downside I can think of setting up IntelliJ is that by default it creates shortcuts for the 32 bit version and uses some restrictive VM settings even if you start it by hand. If you're working on medium to large scale problems you've got to edit a text file by hand to give the VM access to more then a few hundreds megs of RAM, which is certainly necessary for good performance.
 

FreezeSSC

Member
Hey figured I'd post my question in here, does anyone have software they recommend for keeping on track with projects? I work for a very small engineering company, its my first job out of college and I'm the only developer (I'm an computer engineer so I don't have professional developer experience). I mostly do work in a language called LabVIEW but I'm trying to branch our stuff into C, however the main problem I have is keeping track of all the different projects I'm working on, theyre mostly small one off programs for a specific use and I get so many of them I end up pushing other projects to the side.

Anything free would be preffered, thanks.
 

Makai

Member
Hey figured I'd post my question in here, does anyone have software they recommend for keeping on track with projects? I work for a very small engineering company, its my first job out of college and I'm the only developer (I'm an computer engineer so I don't have professional developer experience). I mostly do work in a language called LabVIEW but I'm trying to branch our stuff into C, however the main problem I have is keeping track of all the different projects I'm working on, theyre mostly small one off programs for a specific use and I get so many of them I end up pushing other projects to the side.

Anything free would be preffered, thanks.
Putting everything into version control is good enough for me. Won't lose your progress and you can get a higher view of what you've done.

https://gitlab.com/
 

midramble

Pizza, Bourbon, and Thanos
There's a free version that's still pretty good, though it misses the code completion for Javascript. The Ultimate Edition is really worth it if you write code for a living though.

If you have to switch to other pc's often I'd think about using a cloud storage service. You can change the config/plugin directory to some directory that's automatically shared by onedrive/dropbox. Or maybe a fast external drive?

IntelliJ is much much much better than Eclipse, especially for code completion and AndroidSDK development. I love it, but unfortunately it's not free.

As far as JS development goes, most of the full time web developers that I work with just use SublimeText with a bunch of add ons.

Thanks for this. Did some IDEA digging and love the IDE so far. Though I may have to drop the money on the ulitimate edition to get the JS code completion. Did some research on the plugin/config export and import and seems pretty simplified compared to eclipse. I'll probably end up putting it somewhere in my AWS S3 storage.

Since webstorm seems to have all the JS features that are part of IDEA, would working with the two IDEs separate work? I do hate the idea of swapping between the two between front and backend but the $400 dollar cost difference really has me thinking.
 
Alrighty, please critique my solution programming-GAF

Problem:
Multiple sensors (~15) with moderate frequency measurements (5 each at about 10-20 Hz). Need to store and be able to graph these measurements in real time. We have a simulated prediction of what the measurements will be that we need to compare against. Solution has to be cross-platform.

What I plan to do:
InfluxDB to store the measurements. Use influxDB to also store the predictions from the simulator. Use it's HTTP API to talk with a JS frontend, use D3 to build the graphs. Unsure what frontend framework to go for, considering ember or angular primarily at the moment. Considering using electron to wrap it all up as a desktop application, and it might make it easier to integrate stuff like system sensor input which will be coming in through effectively a serial port in a custom protocol.

I have no frontend experience or JS experience. I've done a lot of stuff with Python and C (particularly embedded C). I made a django backend once. Am I on the right track or am I getting ready to build a monstrosity?
 

Kalnos

Banned
If it's a simple application then Ember is overkill, it markets itself as "A framework for creating ambitious web applications." and I would heed that as a warning from personal experience.

Angular 2 / React are probably your best bet as far as frameworks go, maybe Vue if you're willing to dive into something with less mind share (but excellent documentation).

If your app is simple enough then you might not even need a framework to be honest.
 
Probably not that complex? The app will basically need to do this:

Let the user select what measurements to graph, overlay them, adjust time range, etc, needs to be real time
Will have some preset data visualizations
Let user download backups of data, filtered
Probably some basic control of the sensor input and needs to be able to send data from user back into that system
 

Lister

Banned
Probably not that complex? The app will basically need to do this:

Let the user select what measurements to graph, overlay them, adjust time range, etc, needs to be real time
Will have some preset data visualizations
Let user download backups of data, filtered
Probably some basic control of the sensor input and needs to be able to send data from user back into that system

Yeah I'd definitely want to leverage a front end framework for this. I think Angular 2 and React are probably the wisest choices, as you don't have experience on the front end, the huge communities on both sides will mean it will be easier to work through issues.
 

V_Arnold

Member
If it's a simple application then Ember is overkill, it markets itself as "A framework for creating ambitious web applications." and I would heed that as a warning from personal experience.

Angular 2 / React are probably your best bet as far as frameworks go, maybe Vue if you're willing to dive into something with less mind share (but excellent documentation).

If your app is simple enough then you might not even need a framework to be honest.

If Ember is too ambitious to be used for a project, then definitely do not use either React or Angular 1/2, imho. Those are in the same category.

Vue is for enhancing sites with app-like capabilities without having to buy into dogmas and predefined project structures/development styles. Or plain ES6.
 

Kalnos

Banned
If Ember is too ambitious to be used for a project, then definitely do not use either React or Angular 1/2, imho. Those are in the same category.

Vue is for enhancing sites with app-like capabilities without having to buy into dogmas and predefined project structures/development styles. Or plain ES6.

I can agree your assessment regarding Angular but not React.

React is a relatively simple library where Angular 2 / Ember are more opinionated batteries included frameworks. React and Vue are much smaller in size and allow you to 'build your own' framework to some degree when it comes to routing, http, state management (vuex, redux), etc.
 

Lister

Banned
I can agree your assessment regarding Angular but not React.

React is a relatively simple library where Angular 2 / Ember are more opinionated batteries included frameworks. React and Vue are much smaller in size and allow you to 'build your own' framework to some degree when it comes to routing, http, state management (vuex, redux), etc.

Is react what you'd really recommend someone not well versed with fornt end devleopment though?

Angular 2 is all you need in a package (for the most part). How many other things will he need to learn about in order to have everything he needs with react?
 
Appreciate the discussion but I'm still confused AF haha

I'm thinking I'll spend a day each learning Angular, Ember and React each and use whatever clicks the best
 

V_Arnold

Member
Appreciate the discussion but I'm still confused AF haha

I'm thinking I'll spend a day each learning Angular, Ember and React each and use whatever clicks the best

How good are you at javascript?
(I am asking because personally, I would spend that time outlining what needs to be rendered clientside and if feasible, simply implement the needed queries as XMLHttpRequest calls, and use DOM manipulations for the rest.)
 
How good are you at javascript?
(I am asking because personally, I would spend that time outlining what needs to be rendered clientside and if feasible, simply implement the needed queries as XMLHttpRequest calls, and use DOM manipulations for the rest.)

I am two days into learning JS so not good at all. Read the first two books in YDKJS and did some general messing around with the language.

I'm not fussed though this project is on a super lax timeline, got a few months.
 

V_Arnold

Member
I am two days into learning JS so not good at all. Read the first two books in YDKJS and did some general messing around with the language.

I'm not fussed though this project is on a super lax timeline, got a few months.

Then my advice is this: first, learn JS fundamentals.
Learn how variables live (and where they live). Get clear on scoping and "this". Get yourself familiar with handling JSON (parse/stringify), try to do basic stuff like getting elements (document.getElementById/ClassName/TagName/etc), changing div's innerHTML's, etc.

In the meantime, look up React and Vue and Angular at your own speed. However, be warned: by choosing these frameworks (and in my experience, both React and Angular "suffer" from this), you will be mainly learning their API, not learning Javascript. So I would put off the choosing of your framework by at least a month, and just focus on JS.

Good luck, and if you have any questions, this thread (or stackoverflow or reddit/js) can help you.
 
Question for self-taught programmers/ I know this thread gives a bunch of resources in the OP, but there really isn't a methodology of how you can accomplish proficiency.

I know it's not as simple as reading a book because I heard many times that programmers only use them for reference on how to do things. What road map did you people use and how did you actually gain proficiency? I've been learning C++ for about a year now and I'm still in console based applications. I think I should be further.
 

Somnid

Member
Question for self-taught programmers/ I know this thread gives a bunch of resources in the OP, but there really isn't a methodology of how you can accomplish proficiency.

I know it's not as simple as reading a book because I heard many times that programmers only use them for reference on how to do things. What road map did you people use and how did you actually gain proficiency? I've been learning C++ for about a year now and I'm still in console based applications. I think I should be further.

If you don't know where to start read a book just to get a sense of things. Past that, do projects. What do you want to do? What do you want to learn? Do it and you will learn. Start googling. I can guarantee you everyone in this thread learned the vast majority of what they know on the job or by working on projects.
 
If you don't know where to start read a book just to get a sense of things. Past that, do projects. What do you want to do? What do you want to learn? Do it and you will learn. Start googling. I can guarantee you everyone in this thread learned the vast majority of what they know on the job or by working on projects.

I think that is what I need to do.
 

Lister

Banned
Practice, practice, practice. That's how you gain proficiency at anything. Except in RPG's. There you need to kill some monsters to get at weapon specializations. :p

That means starting and finishing (that's a personal problem of mine) projects that push you out fo your comfort zone just a little bit. Everytime you start a new project it should be a bit mroe ambitious and feature somethign new or somehting you want to get a better handle on.

A book is always a solid way to start, but I've found that looking at other people's code is revelatory. Troll github and other public code repositories and see how software is designed and how solutions to problems are implemented, then leverage those solutions in your own practice projects.
 
I have a project on client and server. I want to know how could I manipulate the server to send the message to another client instead of sending back the message to client? For example, if Bill sends a message to the server, the server should not send back the message to Bill but send it to Ana. And how would I initiate a chat with another user? If you guys want to check out the code, I'll pm you since I don't want to post it in the public.
 

Somnid

Member
I have a project on client and server. I want to know how could I manipulate the server to send the message to another client instead of sending back the message to client? For example, if Bill sends a message to the server, the server should not send back the message to Bill but send it to Ana. And how would I initiate a chat with another user? If you guys want to check out the code, I'll pm you since I don't want to post it in the public.

If web, Websockets. You keep the open websockets and message them over that connection. Otherwise you need to poll, like have a message queue and have Ana periodically check for new messages or use something like server-sent events/long polling to make it a little more efficient. For not web use TCP sockets.
 

Lister

Banned
I have a project on client and server. I want to know how could I manipulate the server to send the message to another client instead of sending back the message to client? For example, if Bill sends a message to the server, the server should not send back the message to Bill but send it to Ana. And how would I initiate a chat with another user? If you guys want to check out the code, I'll pm you since I don't want to post it in the public.

There's lots of way you could implement this. It sounds like a simple chat room app, right? You could simply expose an API endpoint that will always return an array of recent messages. When you send a message to the server, it adds it to it's in memory array (or a database collection or table). When a client asks for the latest messages, it returns the latest x number of messages in an array. A message object could be something simple like:

Code:
{
id;
timeStamp;
user;
message;
}

You could filter on the client and only show messages from other users. If you want push notification you'd have to implement websockets to handle updates.
 
My apologies, I forgot to mention I have to use C programming to do this project. I have to set 6 menus where a user chooses these options below. The first option is I have to enter ip address, port number, and login as a user.

1. Connect to server
2. Get the user list
3. Send a message
4. Get my message
5. Start a chat with friend
6. Chat with friend
 
Ok... I'm at a loss. I'm sure if I beat my head for an hour or two I'll figure it out. But for deleting a hash key and values from a hash.

my hash has values like

Code:
products hash = {
110 => ["Baked Chicken", 9.99]
}

I am trying to create the code for updating, deleting etc. I want to ask the user if they want to delete the value and then confirm. What am I doing wrong?


Code:
 puts "Enter the product ID you would like to delete: "
    product_id = gets.chomp
    puts "Are you sure? (Y/N)"
    decision = gets.chomp.upcase
    if decision == "Y"
      products_hash.delete(product_id)
      puts "#{product_id} has been removed."

Also allowing the user to replace either value in the array piece for whichever key they choose...
 
Anyone? :/ I'm been doing trial and error and I just can't seem to figure it out. I can easily do a hash => value. But with the array I'm being thrown off.
 

Pokemaniac

Member
Ok... I'm at a loss. I'm sure if I beat my head for an hour or two I'll figure it out. But for deleting a hash key and values from a hash.

my hash has values like

Code:
products hash = {
110 => ["Baked Chicken", 9.99]
}

I am trying to create the code for updating, deleting etc. I want to ask the user if they want to delete the value and then confirm. What am I doing wrong?


Code:
 puts "Enter the product ID you would like to delete: "
    product_id = gets.chomp
    puts "Are you sure? (Y/N)"
    decision = gets.chomp.upcase
    if decision == "Y"
      products_hash.delete(product_id)
      puts "#{product_id} has been removed."

Also allowing the user to replace either value in the array piece for whichever key they choose...

I don't do a whole lot of Ruby, but I think your problem looks like a type mismatch. You seem to be using integers for the hash key, but the value of "product_id" is probably going to end up being a string. You probably need to convert that into an integer somehow.
 
I don't do a whole lot of Ruby, but I think your problem looks like a type mismatch. You seem to be using integers for the hash key, but the value of "product_id" is probably going to end up being a string. You probably need to convert that into an integer somehow.

Yea I figured it out a little while ago, it's always something so simple.

Code:
print_hash(products_hash)
    puts "Enter the product ID you would like to delete: "
    product_id = gets.chomp.to_i
    products_hash.each do|key, value|
      if product_id == key
        products_hash.delete(product_id)
        puts "#{product_id} has been removed."
      end
    end

Now I'm beating myself over the head trying to figure out why I can't update the hash properly.

Edit: And as always, I overcomplicated it.

solved it

Code:
puts "Enter the product item ID you would like to update: "
    product_id = gets.chomp.to_i
    products_hash.each do|key, value|
      if product_id == key
        puts "What is the new description?: "
        product_description = gets.chomp.upcase
        puts "What is the new price?: "
        product_price = gets.to_f
        products_hash[product_id] = [product_description, product_price]
      end
    end
 
Last question, probably won't be answered but worth a try while I try to figure it out.

I'm creating a method to sort arrays

hash looks like

Code:
hash = {
111 => [CPU, 199.99]
}

Code:
def order_hash(arr)
    arr.sort_by {|k, v| v[1]}
  end

It isn't doing anything, I'm sorting, by key, value, then by the second value (1) of the array no?
 

Somnid

Member
Last question, probably won't be answered but worth a try while I try to figure it out.

I'm creating a method to sort arrays

hash looks like

Code:
hash = {
111 => [CPU, 199.99]
}

Code:
def order_hash(arr)
    arr.sort_by {|k, v| v[1]}
  end

It isn't doing anything, I'm sorting, by key, value, then by the second value (1) of the array no?

Don't know much about Ruby but this looks like you are sorting by the second index of your values (119) only.
 

Koren

Member
It isn't doing anything, I'm sorting, by key, value, then by the second value (1) of the array no?

Don't know much about Ruby but this looks like you are sorting by the second index of your values (119) only.
You indeed would... if you could sort hash objects!

But you CAN'T sort hash objects in Ruby (for kinda obvious reasons, hash tables are unordered unless you create a far more complex data structure)

arr.sort_by {|k, v| v[1]} doesn't sort arr, it creates a nested array containing the sorted elements.

You can do
Code:
res = arr.sort_by {|k, v| v[1]}
to get the keys/values sorted by (indeed) the second element of the values, but res isn't a hash anymore...


Edit: just for clarity, an example:
Code:
arr = {
3 => ["Three", 3.333],
1 => ["One", 111.1],
2 => ["Two", 22.22]
}

print "arr: ", arr, "\n"

print "\nExecute arr.sort_by {|k, v| v[1]}\n"
arr.sort_by {|k, v| v[1]}

print "arr: ", arr, "\n"

print "\nExecute res = arr.sort_by {|k, v| v[1]}\n"
res = arr.sort_by {|k, v| v[1]}

print "res: ", res, "\n"

print "arr: ", arr, "\n"
produces
Code:
arr: {3=>["Three", 3.333], 1=>["One", 111.1], 2=>["Two", 22.22]}

Execute arr.sort_by {|k, v| v[1]}
arr: {3=>["Three", 3.333], 1=>["One", 111.1], 2=>["Two", 22.22]}

Execute res = arr.sort_by {|k, v| v[1]}
res: [[3, ["Three", 3.333]], [2, ["Two", 22.22]], [1, ["One", 111.1]]]
arr: {3=>["Three", 3.333], 1=>["One", 111.1], 2=>["Two", 22.22]}

btw, I was surprised that key order was preserved, and after looking into it, recent versions of Ruby preserves the order in which keys were created (like OrderedDict in Python), which wasn't the way I remembered.

So you could recreate a hash with the result of sort_by.

But I'm not sure it's the best idea, because it would break as soon as you would use an older version of Ruby (and not that old, I say).
 

Suplexer

Member
How available are bottom-of-the-barrel, entry-level jobs for CS majors?

after taking two years off after high school, I am now in my second college semester moving towards a computer science degree and loving it but I would like to think a little bit ahead. If I wanted to get my associates and get a super low level job in my field (preferably paid but I supposed I could juggle an unpaid position on top of my 9-5) while working towards higher degrees, are there a lot of options?

I would LOVE to get out of retail ASAP, but judging by my current comp sci class I am not going to know much after my first couple years, or at least not enough to get a low level job that pays as well as my current job.
 

Lister

Banned
How available are bottom-of-the-barrel, entry-level jobs for CS majors?

after taking two years off after high school, I am now in my second college semester moving towards a computer science degree and loving it but I would like to think a little bit ahead. If I wanted to get my associates and get a super low level job in my field (preferably paid but I supposed I could juggle an unpaid position on top of my 9-5) while working towards higher degrees, are there a lot of options?

I would LOVE to get out of retail ASAP, but judging by my current comp sci class I am not going to know much after my first couple years, or at least not enough to get a low level job that pays as well as my current job.

You'll likely want to devote a lot of your spare time (if you even have any with a job + school) picking up current frameworks, and maybe looking to get some type of certification from the likes of say Microsoft.

Learn React or Angular, Larn .net or Ruby and you'll have a decent chance at a an entry level position that is probably going to be a lot better than working retail.
 

Koren

Member
You'll likely want to devote a lot of your spare time (if you even have any with a job + school) picking up current frameworks, and maybe looking to get some type of certification from the likes of say Microsoft.

Learn React or Angular, Larn .net or Ruby and you'll have a decent chance at a an entry level position that is probably going to be a lot better than working retail.
Should I read between the lines that web-related jobs offers dwarf any other CS jobs offers, at least at entry level?

I don't doubt there's a lot of web developers needed, but there should be other opportunities, no? (That's the last thing I'd like to do, personally...)
 

Lister

Banned
Should I read between the lines that web-related jobs offers dwarf any other CS jobs offers, at least at entry level?

I don't doubt there's a lot of web developers needed, but there should be other opportunities, no? (That's the last thing I'd like to do, personally...)

I personally think that alot of modern application development IS web development. You're going to be working on back ends that provide data to front ends, and those front ends are increasingly the web or mobile applications.

But there are many other options too, I didn't mean to imply othewise. It's my background so it's what Imentioned. Hopefully others will chime in with more suggestions :)
 

Suplexer

Member
You'll likely want to devote a lot of your spare time (if you even have any with a job + school) picking up current frameworks, and maybe looking to get some type of certification from the likes of say Microsoft.

Learn React or Angular, Larn .net or Ruby and you'll have a decent chance at a an entry level position that is probably going to be a lot better than working retail.

Do you have any specific recommendations for online certificate courses?
 
I have a question for my project using c programming. So how can I manipulate a client to become a server? Like having Bill chat with Ana. When Bill sends the message to Ana, Ana (server) gets the message then sends back another message to Bill. I went to speak with my instructor and he said that I need to make a client into a server so for the chatting with friend part. Also, a server takes in the clients request one at a time, so I assume I have to make one of the user into a server in order to get the chat part to work. Any ideas?
 

JaMarco

Member
I have a Google software engineering interview in April. Anyone interview with a Google/Amazon/Facebook/Apple/Microsoft before, what was it like?
 

Jokab

Member
I have a Google software engineering interview in April. Anyone interview with a Google/Amazon/Facebook/Apple/Microsoft before, what was it like?

A friend (Swedish) has experience from the local recruiting process. I believe he had phone interview(s?) first, then was flown down to Switzerland for more stuff. There were several interviews in a single day, lasting a few hours in total. Some of them were language based, some asked him to devise an algorithm for solving some pathing problem IIRC. Was four or five interviews with different foci, with different people in each. Was pretty difficult and he didn't get the job.
 

Somnid

Member
I have a Google software engineering interview in April. Anyone interview with a Google/Amazon/Facebook/Apple/Microsoft before, what was it like?

For onsite, you basically show up to the lobby and wait for your initial interviewer. They stick you in a conference room and you're basically given 1 to 2 typical interview questions per session (1 interviewer per hour for 5 sessions plus lunch).Typically these are algorithm related and if you have a lot of experience at least one will be on architecture and design. You'll probably get at least one question dealing with combinatorics too (mine was pretty well disguised in simple math so it wasn't big deal). The first 5 minutes of each session are the interviewer introducing themselves and the project they work on and you'll usually have about 5 minutes at the end to ask questions. I got no soft questions but that might depend on the exact position and experience level. For each you have the option of using a text editor on a chromebook or a whiteboard (or both). For lunch you are assigned to another Googler they'll take you to the cafeteria and you'll eat, talk about Google and they'll probably tour you around the campus.

Overall it is extremely exhausting but goes by quick. Make sure to grab a water because you'll be talking a lot.
 
In my Facebook interview for a mobile developer position (which I didn't get), I got multiple questions about dynamic programming. At least in my experience, they don't give you partial credit: not only do you have to get the right answer, but you have to do it quickly.
 

JaMarco

Member
Thanks for the responses.
For onsite, you basically show up to the lobby and wait for your initial interviewer. They stick you in a conference room and you're basically given 1 to 2 typical interview questions per session (1 interviewer per hour for 5 sessions plus lunch).Typically these are algorithm related and if you have a lot of experience at least one will be on architecture and design. You'll probably get at least one question dealing with combinatorics too (mine was pretty well disguised in simple math so it wasn't big deal). The first 5 minutes of each session are the interviewer introducing themselves and the project they work on and you'll usually have about 5 minutes at the end to ask questions. I got no soft questions but that might depend on the exact position and experience level. For each you have the option of using a text editor on a chromebook or a whiteboard (or both). For lunch you are assigned to another Googler they'll take you to the cafeteria and you'll eat, talk about Google and they'll probably tour you around the campus.

Overall it is extremely exhausting but goes by quick. Make sure to grab a water because you'll be talking a lot.
Did you end up getting an offer if you don't mind me asking?
 

vypek

Member
I have a Google software engineering interview in April. Anyone interview with a Google/Amazon/Facebook/Apple/Microsoft before, what was it like?

I hesitate at the thought of applying to one of these places. Doesn't seem like an attainable goal for me at the moment. Thats awesome and I hope you do really well. I have a friend who wound up going to Amazon because he couldn't stay where I am currently working. Cracking the Coding Interview was a helpful book for him.
 
Top Bottom