Building first and talking after isn't likely to end well, especially for B2B. Trying to buy online ads after the fact is not likely to get you anywhere... you are just one of a million voices screaming out in a crowd.
If you don't feel comfortable talking, consider partnering with somebody who does.
The B2B startups I've seen that grew into something real all had did some consulting in their area at the start. It gave them a broader experience in the problems they were trying to solve, and helped them build relationships with their first customers. I'm not in SF or anything though, so things might just be a little different here.
I would classify atoi() as a mediocre question at best.
I would look for the following in a "fine" question:
1. It demonstrates knowledge of fundamental concepts or techniques.
2. It lets you distinguish the quality of answer/implementation rather than just works or doesn't.
3. It leads to natural follow-up questions that can demonstrate the candidate's knowledge or expertise.
4. It does not require fiddly code. (e.g. linked list pointer twiddling questions: they aren't hard but are easy to muck up with a stranger staring at you.)
5. If its unrelated to what candidates normally work on, the question should not hinge on knowing a specialized "trick" to change difficulty from hard to easy.
Atoi under that criteria:
1. Does not show much interesting besides a basic understanding of decimal numbers and writing loops.
3. I guess you could follow it up with questions on testing and error handling. Nothing super interesting comes to mind, but that could be lack of imagination on my part.
4. It meets this criteria.
5. It meets this criteria.
Perhaps you have some particularly good way of posing an atoi() question.
I like your criteria, so I'm going to put a question I used to ask in interviews up against it: let's write (and test) the world's worst JSON encoder, in TDD style. The ultimate goal of this question was to end up with a function (in Python, when I was asking it) that could JSON encode primitive types, along with lists and dicts. No fancy stuff about trying to figure out what to do with general objects or anything. No worrying about circular references. No tricks. Just take a Python data structure as input and output a string representing a valid JSON encoding of that data structure.
1. You need to know how to write a half decent test case, and, for full credit, how to write a recursive function. Check.
2. As alluded to in the previous point, we can judge the quality of the test cases. So, I think this is at least a provisional pass.
3. A really good candidate can talk about issues like Unicode, how to handle or avoid stack overflow, dealing with circular references, maybe think a bit about optimizations.
4. Unless you consider recursion to be "fiddly code," then we meet this criterion as well. I allowed people to use str() or repr() to convert things to strings, so there was no incidental difficulty there, either.
5. Nope, no tricks. Just use recursion.
So, it looks to me like I had a pretty okay question.
Anybody take issue with any of what I wrote, or have any suggestions for making it a better question?
As a follow up you could scope out how familiar the candidate is with alternate encoding options and what the trade-offs and use cases are. (BSON/MessagePack, Protobuf/Avro/Thift, FlatBuffers/Cap'nProto).
You are right it’s not the best, but I think it’s a fine starting/warm up question for a C or C++ interview. Atoi can make for a fun discussion just because error handling is so bad in the standard c version. The most common output value is also the same as the return value for an error: 0. I think some versions set the Errno global on failure, can’t recall.
There is definitely room for 2x to 3x performance improvements on the implementation you linked by changing the main loop to not have each iteration depend upon the result of the previous iteration.
If you are interested in assembling your own microscope and have access to a 3D printer, I highly recommend: https://openflexure.org/
For me the interesting part was the build process. If you care more about microscopy than tinkering, you are probably better off just buying a pre-made scope.
If you do want to try out openflexure, I recommend 3d printing the v7 version [0]. At the time of writing it is still in alpha, but it's on par with v6 and the build instructions are a huge improvement.
And definitely read through those build instructions, and the forums. It's an incredibly capable microscope, but there are some rough edges. I would suggest trying the raspi camera with 40x objective, and then see if you can source all the required parts. You can find everything you need on aliexpress, if you don't mind the long shipping times.
If you don't need the motorized axis (eg for autostitching for research, or for autofocus), I would suggest skipping the stepper motors and driver board. The official board is not available, and stuffing cheap stepper drivers in the base is a hassle. You can always decide to add the motors/drivers later.
Who do I have to justify it to? What makes said entity qualified and competent to evaluate my justification? What criteria will be used to determine if my justification is valid?
Exactly, Colorado should have kept the law nice and clean. As long as the job offer is above the minimum pay advertised, then the employer has nothing to worry about. The market would have sorted out the rest (forcing employer to list "appropriate" salary ranges). If it did not force employers to list appropriate salary ranges, then that is a sign to not sell that type of labor.
This phrase was not meant to be taken literally and more supposed to be understood as "if peoples do engage in trading that makes wars between those nation states way less likely."
It was a cute phrase but I see how it might lead to missunderstandings. Thanks for pointing that out. As for whether that more elaborate position applies to the Russian-Ukranian situation. Yes it does
The Russians have not declared war on Ukraine. They are engaging in a purely illegal invasion. Ukraine has not declared war on Russia and has not attempt any occupation of Russian territory.
How can you optimize something that you can't measure? For any proxy measurements (e.g. how well you are sleeping), how can you ensure it's not something else in your life driving the effect?
These are complementary developments, Boston Dynamics is building robots that excel at navigating the world in the way its built. This seems to be intent on building robots that excel at interacting with the world in the way it wants.
The latter has a much broader customer base. From picking fruits to folding shirts to installing a headliner into a new vehicle, there are many applications.
A bunch of their public projects incorporate robotics in some way, just from glancing at x.company/projects. Everyday robot, mineral, wing, loon, waymo, makani. I'm sure there is a lot more going on, like intrinsic.
Cape Analytics | Senior Software Engineer | Munich, Germany | ONSITE (currently remote) | Full time
Cape Analytics uses machine learning on aerial imagery to characterize property risk and value for the insurance industry. We have offices in Munich and Mountain View.
We are hiring backend engineers to work with geospatial data at scale. Candidates should be comfortable with parallel and distributed programming techniques.
If you don't feel comfortable talking, consider partnering with somebody who does.