The interview process was very transparent with HubSpot. The technical recruiter I had was great, and did a great initial call with myself which took about 30 minutes. He explained the structure of HubSpot, about their products, and where they were looking to go in the near future. They provide links to great blog posts that give you a feel for the process as well as the company.
After a screening call with the recruiter you are given a take home test, which you have 3 hours to get a successful 200 status code back from the API endpoint they provide. Without outlining in a lot of detail what the test was like (so as not to give it away on HubSpot), it involves handling HTTP requests & some data manipulation and parsing (sorting, structuring etc). Once you achieve the 200 status back from the server, you have as much time as you need to cleanup code, make it more idiomatic and functional, after which you submit it to a link provided by the recruiter upon success. Advice on this part is to focus on getting the correct payload to send to the API first before creating elaborate algorithms and data structures as the 200 success is the primary scenario they care about at this point.
After successfully completing the take home test within the limits, I was invited in for a 4 hour interview. It comprised of meeting the recruiter, an interview with the Director of Engineering, 3 x Software Engineers, and ended with the recruiter again.
The initial few questions with the first software engineer weren't difficult, however the questions increase in difficulty slightly after each one.
My second software engineer interview was around a small coding challenge. They are looking to see what data structures you used and the way you use them here, so be careful not to get too relaxed with writing throwaway code. Not necessarily crazy complex paradigms, but just be mindful of what you are using and why you are using it. Despite getting the method to work within the interview, my code could have been more thought-out and efficient (based on feedback). Listen out for tips, as the interviewer will give them, I just didn't have the wherewithal to apply them.
My last software engineer interview was with a predominantly front-end engineer. You are given option of working with vanilla JS or JQuery, I chose vanilla JS. It was wiring up some small enough functions to the DOM via event listeners. There is some HTML and CSS involved here, but if you have a professional grasp of that, you will do just fine.
All members of HubSpot allow for chat at the start and question at the end of each of their allotted time, and I had the privilege of having some very nice people interview me.
After completing the onsite interview, you get a tour of the office. The recruiter will generally get in touch with you within about 3-4 days. In my case he called with the feedback, despite not being offered the position, which although disappointing, was a nice personal touch. Many companies would let you down via automated email, but the feedback is detailed and well worth taking onboard.