News for hackers. Stuff that matters.
Re:GPS by gsibble on Tuesday January 18, 2022 @02:04PM (#29984086)
One of my favorite engineering tech interview questions is asking an engineer how they think GPS works. You won't believe how many people start with: "Well, your cell phone sends a signal to the satellite......."

Amazing that even engineers don't understand that GPS receivers don't talk to the satellites.

Re:GPS by daenz on Tuesday January 18, 2022 @02:16PM (#29984247)
This is going to come across as harsh, but if that is your favorite interviewing question, and you are not hiring GPS engineers, then it is a ridiculous question to ask and serves no purpose but to "haze" candidates.
Re:GPS by Unklejoe on Tuesday January 18, 2022 @02:40PM (#29984612)
I think it depends on the job. If this was for an embedded/firmware engineering position, I'd expect a level of EE knowledge that would at least make the concept of everyone's phone sending data to a satellite be a non-starter.

I think it's more relevant than asking an embedded engineer which sorting algorithm is the fastest.

Re:GPS by Youden on Tuesday January 18, 2022 @03:05PM (#29984938)
I think you're unfairly assuming something about how the question was used.

If the intent was to find out if people __knew__ how GPS worked when they didn't need it for the position, sure.

However I see two other possibilities:

- How does a candidate react when they don't know something? Do they try to bullshit their way through? Do they admit it and ask what you'd like them to do?

- Can a candidate, __with guidance__, come to a basic understanding of how GPS works and come up with a reasonable (note: not necessarily correct) suggestion for how to implement it?

Re:GPS by daenz on Tuesday January 18, 2022 @03:09PM (#29984993)
I agree with the meta interview concept, but I don't think that applies here because of the OP's last sentence:

>Amazing that even engineers don't understand that GPS receivers don't talk to the satellites.

They're amazed at the lack of knowledge, not that a candidate wasn't able to talk it out, or that they bs-ed through it. That tells me the question is asked in bad faith.

Re:GPS by Youden on Tuesday January 18, 2022 @05:16PM (#29986820)
Again, that's not necessarily how that's intended. The observation on its own is just an observation, it doesn't indicate anything about how interview performance was evaluated.

For example when I interview, I have a question related to chess, which requires a basic understanding of how the pieces move. I was amazed that even engineers don't understand the basic movement rules of chess.

However as far as the interview went, it was a non-issue. It took about 30 seconds to explain, not a single candidate had a problem with it, and it never came up when I was giving my verdict.

Re:GPS by daenz on Tuesday January 18, 2022 @07:17PM (#29988152)
As an interviewer, where there's a huge power imbalance, why even stray into the territory where candidate can easily perceive a disadvantage for not having totally unrelated knowledge? A candidate will feel like their lack of chess knowledge, or GPS knowledge, hurt them if they didn't perform well. Why not just ask questions that are relevant to the work they will be doing? Maybe you don't realize just how stressful interviews are to some people, and how much they have to prepare, only to be asked to reverse engineer how GPS works.
Re:GPS by Youden on Wednesday January 19, 2022 @02:29AM (#29990907)
It's very clear in the interview that knowledge of chess isn't being tested. The chess-related exchange is literally about 30s and it's clearly part of the segment where the problem is explained, not the part where the candidate needs to demonstrate their abilities.

As for why, by relating the question to something in the real world (like chess or GPS) a few things are accomplished:

- It gives the candidate an ambiguous situation that they have to navigate away from (e.g. by asking clarifying questions).

- It requires the candidate to map a real-world situation to an algorithmic solution, rather than just being told "implement a graph traversal" or "use dynamic programming to solve this".

- It makes the problem more interesting.

I know exactly what it's like to be on the other side because I was there too not so long ago, solving interviews just like this. I found questions like this much nicer than more obscure questions like Gray code.

I think you're just fixated on this idea that the interview is there to test what you know and not knowing something is a fail but that's not really how it works. What a candidate knows is next to nothing to me, what's most important is how they go about solving the problem. Do they ask questions? Do they consider alternative solutions before digging in? Is their code somewhat readable?

Aside from the basics of CS, I really don't care what they know and that's made reasonably clear before the interview (as it was to me when I was interviewed).

Re:GPS by Bost on Wednesday January 19, 2022 @11:11AM (#29995532)
> you don't realize just how stressful interviews are to some people

Getting stressed too much about a job interview may be a sign of overcommitment. And I believe you're not looking for a guy ready to go over corpses.

Re:GPS by woofcat on Tuesday January 18, 2022 @03:52PM (#29985600)
I'll firmly disagree. I find logic questions, and how they solve a problem vastly more important than other aspects of the interview.

I'm often looking for someone I can give a problem to and they return with a potential solution. That involves thinking through problems, how they work, how they can't work, etc.

Asking someone how they think GPS works, or asking them a question about how they'd try to track down a defect based on what a customer is reporting to me are very important skill sets to have.

Re:GPS by zaidf on Tuesday January 18, 2022 @04:44PM (#29986381)
The overarching skillset that really smart people use everyday to explain how x works or investigate a customer issue is...google
Re:GPS by woofcat on Tuesday January 18, 2022 @06:20PM (#29987569)
So how would you handle a proprietary system not on Google?

This is why these questions are important. The skill set is logic and deduction not regurgitation of ideal solutions.

Re:GPS by seanw444 on Tuesday January 18, 2022 @03:29PM (#29985261)
Not harsh. Sounds reasonable to me.
Re:GPS by mellavora on Tuesday January 18, 2022 @02:37PM (#29984565)
You've received some flack for this, but I'm not sure the context. If most of the questions in this round are of this nature, then maybe it is a "why are manhole covers round" thing.

But as a one-off, and if asked in a forgiving way to explore how they think, then I'd consider this question valid.

Maybe "Have you ever thought about how GPS works?" if "yes", then let them explain, if "no", then make it easy for them to start reasoning about the system and then see how they might design it.

Seems to me as fair as asking "have you ever thought about how a double-linked list works?" or "a basic way to ensure database consistency when the DB is replicated at two different physical machines"?

It's not like GPS is something esoteric that they are unlikely to have interacted with, odds are they used it to get to the interview location.

Re:GPS by kubanczyk on Wednesday January 19, 2022 @06:18AM (#29992283)
I don't know about you, but this part of the interview is for me just another annoying obstacle on the way to get the job.

The "Have you ever thought about how GPS works?" question gets a scripted "No, but <blah blah blah>" answer. It's fully automatic, because there are now two possibilities:

- I have thought about GPS before. I will now fake my creative process. No hard feelings, but you are just another obstacle for me to get the job, that's it.

- I have never thought about GPS before. We will now try to design "together" a super-complicated system having so many boundaries and hidden constraints, while I will be also panicking on the inside the whole time. No wait, that would be dumb. I know, I will just refuse to discuss it further. Next question.

(Also, TIL that "flack" in addition to its primary meaning is apparently an acceptable spelling of "flak" too.)

Re:GPS by daenz on Tuesday January 18, 2022 @02:46PM (#29984670)
I don't understand why you think linked lists and db replication, which I think are both are very appropriate questions for a software engineer (less relevant to FE engs), are as relevant as how GPS works.
Re:GPS by avianlyric on Tuesday January 18, 2022 @03:12PM (#29985032)
Depends on what you’re evaluating the candidate on. If you’re evaluating the candidates ability to reason through a problem, and communicate the reasoning, the. GPS is arguably a better question for a software engineer as they’re unlikely to have studied it. Thus you can watch them work through a problem they haven’t thought about before, but which should probably have the basic tools to solve.

There should be no expectation of them coming up with the “correct” answer. But they should be able come with an answer and explain it clearly, warts, holes and all.

Using something real like GPS also ensures that the candidate understands why the problem is a useful problem to solve, and what the objective of the solution is I.e. a system that lets you locate yourself on earth.

Re:GPS by lazide on Tuesday January 18, 2022 @03:14PM (#29985066)
Only reason I can think of is it is a real world example of distributed coherency/information problem and if you squint hard could give insights into things like paxos (and why it does what it does), why certain types of keying/sharding/distributed computing are done the way they are done.

But directly talking about those topics is probably handy.

Re:GPS by littlecranky67 on Tuesday January 18, 2022 @02:40PM (#29984606)
Bonus/Followup question: Explain why GPS is not working very well to determine height.

Once you understand the signals are timecoded, this boils basically down on your ability to picture the intersection of multiple sphere in 3D space and it will become obvious (amongst other, very technical reasons that should not be an interview question).

Re:GPS by areyousure on Tuesday January 18, 2022 @04:17PM (#29985954)
Can you say a little more about this? This is a topic I am interested in, and I was hoping that the OP went into it, but it didn't seem like it did.
Re:GPS by littlecranky67 on Tuesday January 18, 2022 @04:43PM (#29986362)
The linked article does neatly, but they use 2D projection (so it's circles not spheres). Very simplified you use the broadcasted position + timestamp of multiple GPS satellites to find your location on the earth. So for a single satellite, you can (using time-in-flight of the signal) estimate the distance to that satellite at a point in time when you received its data. Once you know the distance D to that single satellite, you will know that your position (within margin of error) is anywhere on a sphere with the satellite as its center and radius D (of course this is a bit silly as you know you are definitely not farther away from earth surface as the satellite but rather somewhere 6000-6500km away from Earth center). So when using multiple satellites, you get a set of spheres and (simply viewed) would intersect those spheres - you will be somewhere in this intersection. Now if you can safely assume that your are always on the surface of the earth, you would project this (3d volume) intersection to 2d onto the earth surface - this projection is rather "small" hence less error. But if you would project this intersection using any other 2dimensions, the resulting area would be "wider" in terms of height/depth relative to the surface.

You have to picture those spheres given that the satellites are roughly at same orbital height relative to earth center and you always receive signals within your "field of view" on the nightsky - and of course assume the earth is round.

Re:GPS by areyousure on Tuesday January 18, 2022 @06:12PM (#29987489)
Thanks for the further detail.

Unfortunately, I don't understand. For example, check out this screenshot from the OP: https://i.imgur.com/9kh5tBi.png

If the satellites are above (the horizon/field of view), and you're intersecting spheres, it seems to me that you would have the best precision in the height direction and worse precision along the sphere. Am I missing something?

Re:GPS by underwater on Wednesday January 19, 2022 @03:43AM (#29991299)
The article has a demonstration that directly contradicts your argument. See the illustration that follows the text "To make things easier to see let’s briefly drop down to a two dimensional case and consider a simplified scenario with signals from just three satellites."
Re:GPS by throwaway110535 on Tuesday January 18, 2022 @02:08PM (#29984140)
Unless you're hiring them to work in that domain, I don't understand why you'd ask that question.
Re:GPS by teraflop on Tuesday January 18, 2022 @02:20PM (#29984311)
Off the top of my head, I can think of a couple of things it tests for:

* Ability to reflect on and critique their own ideas, using technical common-sense. If someone has never had a reason to research or think too hard about how GPS works, then it might be reasonable to initially assume that it sends a signal to a satellite. But hopefully, when prompted to think about it a bit more, they would realize: "Hey, if that's true, then somehow these satellites that were launched in the 80's and 90's were able to scale up their capacity and handle orders of magnitude more demand, now that everyone has a smartphone in their pocket. Maybe that's not how it works?"

* General curiosity and interest in areas outside their field of specialty. This might not be strictly necessary to get a job done, but it probably has some correlation with other measures of technical aptitude that are hard to probe directly.

Re:GPS by alesua93 on Tuesday January 18, 2022 @02:51PM (#29984752)
> General curiosity and interest in areas outside their field of specialty. This might not be strictly necessary to get a job done, but it probably has some correlation with other measures of technical aptitude that are hard to probe directly.

I think this is a bit misguided, since the scope of things outside of a candidate's field of specialty is tremendously large. Picking a random piece of tech within that space and drilling the candidate about it seems rather unfair.

A better way to handle this would be to actually ask the candidate about what else interests them outside of their specialty. But hey, maybe that doesn't stroke the interviewer's ego enough (:

Re:GPS by Unklejoe on Tuesday January 18, 2022 @02:53PM (#29984778)
> random piece of tech

IDK. GPS is probably one of the most prevalent technologies used today besides the Internet itself.

Re:GPS by alesua93 on Tuesday January 18, 2022 @03:02PM (#29984891)
Fair enough. I understand where you're coming from, at the end of the day I guess it depends on the context and the way the question is presented (left-field questions such as this one can be somewhat fun to try to answer and hypothesize about, if the interviewer creates a friendly environment to do so)
Re:GPS by Unklejoe on Tuesday January 18, 2022 @03:05PM (#29984937)
I hear ya. I would definitely not disqualify someone for not knowing the answer.

In fact, someone who is able to sort of work through the problem on the spot may even be preferable to someone who just knows the answer because they happened to read Wikipedia the week before.

Re:GPS by daenz on Tuesday January 18, 2022 @03:05PM (#29984936)
Chip manufacturing is even more prevalent. Why not ask a candidate about how silicon wafers are made?
Re:GPS by avianlyric on Tuesday January 18, 2022 @03:17PM (#29985089)
Because that’s not a problem you can solve with software and algorithms. That a chemical and lithographic problem that requires a knowledge that rarely overlaps with software.

However GPS can be solved with some high school maths, and applying solutions found on the software engineering domain E.g. computing distance from latency, communicating with a remote resource over a comms link, broadcast vs unicast etc

It’s not like the interviewer is going to ask them to design the satellites and rockets themselves.

Re:GPS by Unklejoe on Tuesday January 18, 2022 @03:23PM (#29985185)
Because that's a lot more obscure. A better example might be asking something like "what's the difference between cache and RAM" or "what is a CPU register", which I'm starting to think will still catch objections from some people on the grounds of it not being relevant to Javascript.

Asking how GPS works (in general terms) is more like asking how the Internet works. Anyone who has "engineer" attached to their job title should at have a general understanding of this, or at least be able to work through it using common sense on the spot. I know we covered it early on in college (maybe in Physics, I forget).

Again, I'm not talking about low level details here. Something like "your phone measures the time it takes the signals to arrive and calculates a distance" indicates some understanding. From there, most people can figure out how that information could be used to calculate a 3d position.

Re:GPS by daenz on Tuesday January 18, 2022 @03:30PM (#29985288)
>Anyone who has "engineer" attached to their job title should at have a general understanding of this

The fact that the interviewer finds so many candidates who don't answer the GPS question to their satisfaction, while companies complain about difficulty finding software engineers, should tell you all that you need to know about the question's relevancy as well as the bizarre assumptions that some interviews hold.

Re:GPS by randomswede on Wednesday January 19, 2022 @10:33AM (#29994910)
"Assume you are on a relatively typical unix system, you type `ls -l` and press return, walk me through what happens in as much detail as you're comfortable with."

A decent candidate will give me 5-10 minutes of delving into various parts of "unix processes", maybe "dynamic linking", most probably a bit of "file system" by judicious use of "could you explain that in more detail" or "how does X work".

A truly excellent candidate will have me taking notes for 25-30 minutes, while they pre-answer all my followup questions, go through process creation, dynamic linking, file system API, filesystem internals, maybe some disk layout, process termination and signal handling.

Out of maybe 120 candidates I've asked that question, one (maybe two) have answered it so fully on their own that I did not have to ask any followup questions. And pretty much exhausted my question graph, so once done we could pivot to "do you have any questions for me?".

Re:GPS by astrange on Tuesday January 18, 2022 @06:10PM (#29987475)
What is the difference between cache and RAM according to you?

The super-simple answer is correct, but I think if you asked in an interview people would try to give a complicated and wrong answer out of nerves.

Re:GPS by Mindless2112 on Tuesday January 18, 2022 @02:34PM (#29984524)
You either find out the candidate knows how GPS works or you find out the candidate's willingness to say "I don't know".

It's valuable to know how someone will handle a question they don't know the answer to -- whether they recognize their own ignorance and whether they are willing to admit to it.

Re:GPS by daenz on Tuesday January 18, 2022 @02:39PM (#29984589)
There are plenty of ways to get to the bottom of what a candidate knows without resorting to unreasonable questions. What you're really testing for is a candidate's patience for being toyed with.
Re:GPS by lazide on Tuesday January 18, 2022 @03:17PM (#29985086)
Or the candidates ability/willingness to bullshit in order to not look ignorant or unskilled in something.

Which is actually useful to know, even if this method would be a dickish way to do it.

Re:GPS by u385639 on Tuesday January 18, 2022 @02:28PM (#29984441)
Not sure why you're getting flack it's a great question and you can learn a lot about your candidate as you work through it.
Re:GPS by mwfunk on Tuesday January 18, 2022 @02:59PM (#29984849)
I assume the responses are from people who didn't know that and are now offended that they would've flubbed what the interviewer considered common knowledge in their field. I could see someone thinking it's not a relevant question for certain types of positions, but anyone getting defensive about it is a little bit of a red flag. Anyone doing development relying on location services or navigation systems should have a general baseline intuition for how those things work, even if it's only the broadest strokes. If someone feels angry about not knowing this, well congratulations, you now know this and no longer have anything to get defensive about.
Re:GPS by hk__2 on Tuesday January 18, 2022 @04:39PM (#29986309)
Please don’t fall into the strawman argument of “if people criticize the idea it’s because they’re offended”.
Re:GPS by jason0597 on Tuesday January 18, 2022 @02:06PM (#29984106)
I don't quite understand how such questions help in the hiring process? It reminds me of the famous "why are pothole covers round" question, still not sure what it achieves.
Re:GPS by littlecranky67 on Tuesday January 18, 2022 @02:37PM (#29984563)
Actually this is a very good question for engineers, as the (wrong) idea that a smartphone regularly sends data to a satellite shows fundamental lack of knowledge in some very basic physical understanding. The basic understanding should be: transmitting/sending = emitting energy (costly if a device runs on batteries), receiving/listening for a signal = almost for free nowadays.

I also like the question because even if you have no idea how GPS actually works, you could quickly come up with the rough idea yourself given that you have a bunch of satellites that can emit arbitrary signals. Lots of room to show creative and analytical thinking here.

Re:GPS by dpark on Tuesday January 18, 2022 @03:31PM (#29985305)
> Actually this is a very good question for engineers

What kind of engineers are you interviewing?

> I also like the question because even if you have no idea how GPS actually works, you could quickly come up with the rough idea yourself given that you have a bunch of satellites that can emit arbitrary signals.

I find this really doubtful. Someone who doesn’t already understand how GPS works is unlikely to derive it from first principals in a brief interview.

Re:GPS by littlecranky67 on Tuesday January 18, 2022 @03:43PM (#29985465)
If you make some simplifications and assumptions such as a GPS receiver has a highly-precise & synchronized clock (it doesnt), you can conceive GPS basically as a system where each satellite simply broadcasts its position & own current timestamp and then determining your position of the earth surface becomes basic triangulation calculating the time-in-flight of the received signal from multiple satellites. Of course a lot of simplifications in there (such as constant signal expansion time), but I would say a system that you could design with basic geometry. The required knowledge is basic physics and math that everybody calling themselves engineers should have heard at uni (or even at school).
Re:GPS by jameshart on Wednesday January 19, 2022 @09:56AM (#29994339)
You’re still going to wind up assuming a lot of baseline common knowledge that, while it might be stuff you find interesting and have come across in pursuit of your personal brand of geekery, are likely not actually necessary for the job.

Just consider that there are people - perfectly intelligent, capable of learning - who don’t actually know what ‘GPS’ stands for. They maybe don’t know that the GPS system is separate from their phone’s cell connection. They may not even know that satellites are involved. They may have not taken enough of an interest in space technology to have internalized how satellite orbits work, to have intuitions for how orbital speeds and altitudes are correlated. Or they may have picked up a common misconception at some point in the past about how cellphones work, thinking cellphones are always talking to satellites. So they might have made some reasonable intuitions about how GPS works that - because they haven’t been exposed to the true answer - cause them to make some erroneous assumptions that seem like dumb mistakes a poor engineer would make.

Not having had the opportunity to come across those things is not the same thing as not being able to incorporate that knowledge into your worldview when you encounter it.

Re:GPS by dpark on Tuesday January 18, 2022 @04:05PM (#29985786)
Ok, but feeding the candidate half of the information is pretty different from coming up with the rough design with “no idea” how it works. Yes, if you basically tell them how it should work, then they can probably figure out how to calculate the time difference and do some trig.
Re:GPS by littlecranky67 on Tuesday January 18, 2022 @04:26PM (#29986097)
I mean if the candidate would insist that the smartphone sends a signal to the satellite, you can go on and ask "what kind of data?" -"Nothing, just a PING to which the satellite answers with a PONG that contains its position". This is not at all how GPS works, but this system would also work (in a sense you could determine your position on earth based on the RTT + transmitted satellite coordinate). It is not that the candidate should come up with a perfectly correct solution (actually this could be bad because he could just blindly repeat what he/she read without understanding it) - its whether he/she can come up with a solution for the problem at all. In the interview you could still go into discussion about that approach then (what about undirected energy dissipation for contacting a thousands-of-km away satellite, and problems with time-multiplexing transmissions now on the satellite that has to answer individual requests vs broadcast etc.).
Re:GPS by wonnage on Tuesday January 18, 2022 @03:01PM (#29984874)
I have a hard time imagining engineers in any other field (e.g a structural engineer) would be getting asked questions about GPS as a proxy for general engineering knowhow.
Re:GPS by lazide on Tuesday January 18, 2022 @03:17PM (#29985096)
Do you have experience interviewing or seeing interview questions in those fields?
Re:GPS by littlecranky67 on Tuesday January 18, 2022 @03:22PM (#29985154)
Yes, you will be asked to showcase 2-3 side-projects such as houses, bridges and tunnels you built & designed in your backyard and discuss your design decisions on a whiteboard.
Re:GPS by rzzzt on Tuesday January 18, 2022 @07:27PM (#29988229)
Maybe a take-home exercise, like a small viaduct or a dome.
Re:GPS by lazide on Tuesday January 18, 2022 @04:33PM (#29986220)
Not sure if serious?
Re:GPS by goodpoint on Tuesday January 18, 2022 @02:23PM (#29984362)
Some are silly, some are effective ways to measure curiosity and ability to think through an abstract problem.
Re:GPS by HeyLaughingBoy on Tuesday January 18, 2022 @02:32PM (#29984491)
Yes, but how many of them are relevant to determining if a particular candidate is a good fit for a programming position?
Re:GPS by mellavora on Tuesday January 18, 2022 @02:39PM (#29984598)
Well, obviously if the candidate is round then they fit.

or was that the pothole cover? Sorry, I might have gotten confused.

Re:GPS by mhb on Tuesday January 18, 2022 @02:57PM (#29984832)
Engineers, not programmers.
Re:GPS by dpark on Tuesday January 18, 2022 @03:33PM (#29985331)
What kind of “engineers”? I’m not aware of most engineers going through this sort of interview. Mostly just software engineers who are indeed programmers even if they get uppity about the title
Re:GPS by mhb on Wednesday January 19, 2022 @08:55AM (#29993633)
OK, I'll play. Some qualities that are valuable in an engineer are curiosity, creativity, and general knowledge. If your nomenclature has a programmer as a software engineer and a software engineer as an engineer, then these qualities are also valuable in programmers.

If you ask an interviewee how GPS works and he says something about the cell phone sending signals to a satellite, you would want to pursue that further, at least to make sure that he's asserting that with a sufficiently low confidence.

Re:GPS by dpark on Wednesday January 19, 2022 @02:08PM (#29998465)
Let me rephrase my question.

Are you nitpicking the difference between a different engineer and a programmer or are you interviewing a different sort of engineer?

Re:GPS by mhb on Wednesday January 19, 2022 @02:29PM (#29998730)
The thread became about whether a good interview question for an engineer was how she thought GPS works. HeyLaughingBoy thinks that the qualities a question like that seeks to explore are irrelevant for a programming job.

I think that it is a good question for any engineer. One explanation for why HeyLaughingBoy might have disagreed was that HeyLaughingBoy was making a distinction between a programmer and an engineer.

I thought that highlighting the distinction between what HeyLaughingBoy wrote (programmer) and the parent (engineer) was a parsimonious way of expressing this.

Re:GPS by HeyLaughingBoy on Tuesday January 18, 2022 @02:30PM (#29984458)
Why do you think it's a good question?