Here's what we're reading this week at MongoDB:
Ashnik: “Performance degrades after migrating to MongoDB”. Really? Read this.
Diginomica: MyDealerLot boosts dealership revenue opportunities with MongoDB
DZone: Product Catalog with MongoDB, Part 1: Schema Design
DZone: Product Catalog with MongoDB, Part 2: Product Search
Forbes: Bypass The Cord, TV Viewing Shifts To The Small Screen
Paul Done's Technical Blog: Tracking Versions in MongoDB
VentureBeat: The 5 backend tools every game developer needs
MongoDB Users: Get Ready for the AWS Reboot
Over the next few days, AWS will be issuing an emergency patch , and as part of this process they’ll rebooting a substantial number of EC2 instances. The maintenance starts tomorrow and will continue until the end of the month. To see if you’ll be impacted, AWS recommends you go to the “Events“ page on the EC2 console, which will list any pending instance reboots for your AWS account. For those of you who run MongoDB on EC2, you can easily distribute your replica set nodes across multiple availability zones to help ensure that your deployment withstands outages like these without suffering any application downtime. If you have a node in an AZ that gets rebooted, your replica set will automatically fail over to a node in a different AZ. No big deal. Here’s a (non-exhaustive) AWS-reboot-preparedness checklist: Backup. We always recommend you take regular backups. This weekend especially -- make sure you have a current backup of your data before the EC2 instances get rebooted. Availability Zones. As a general practice, we recommend that you deploy replica sets across multiple availability zones. In this case, you may want to proactively change your replica sets' primaries to nodes that will not be impacted by the reboot. And if your nodes aren’t spread across availability zones, we’d suggest that you make this change now so that you have a valid voting config when the instances get rebooted. Replica Set Review. Do a once over of your replica sets to ensure that, if any given availability zone is rebooted, you have enough voting members to continue normal database operations. Some common strategies include: Adding additional secondaries to the replica set Adding an arbiter to a replica set What to Expect. When AWS reboots the instances, you should expect to see failovers occur in your replica sets. A failover typically lasts no more than a few seconds, but while it’s in progress, writes will fail and reads on the primary will fail. Once the failover process has completed, normal operation should be restored. If for some reason normal operation is not restored, MongoDB Enterprise customers should reach out to our support team; others should take advantage of our incredibly active community on Google Groups . Our support organization is on call to assist proactively in advance of the maintenance, or to respond in case of any incidents related to the reboot. And we’ve provisioned some extra folks this weekend just to be sure you have the help you need.
How to Prepare for Your Engineering Interview at MongoDB
MongoDB’s Engineering team is full of creative individuals who play an impactful role in building our industry-leading technology. Our interview process is designed to ensure that you and MongoDB are a great match, and, no matter how many interviews you have done in the past, being prepared is the key to being successful. At MongoDB, we do our best to make sure you have a great interview experience and an opportunity to learn about our company, culture, and the people you will be working with. To help you prepare for your technical interviews, we want to share some tips. Research is key Candidates who do research and come prepared for interviews at MongoDB are able to make the most of their interview process. People sometimes think they do not need to do research because they are already familiar with our products, but that will set you up for unexpected surprises. Before beginning your interviews, you should have high-level knowledge of our company’s mission, values, and goals . The in-depth technical information you can learn about MongoDB and the role and team you are interviewing for may also help set you apart from other candidates. MongoDB has a variety of products and Engineering teams, and this information will give you a chance to learn more about what we are working on, technical stacks we use, and what you’d be contributing to if you joined. Take a look at some of the resources below, and use them to your advantage. MongoDB Blog : Our blog is updated regularly with new posts about life at MongoDB, news, products, and events. MongoDB University : This platform was created to empower developers through education. We offer completely free online courses led by Curriculum Engineers for any learner, whether you’re just getting started or already familiar with MongoDB. MongoDB Documentation : The documentation page has detailed information about our products and tools that will give you an idea of what you will be working on as an engineer. MongoDB Developer Hub : The developer hub provides articles on and resources for how to get started with MongoDB. Learn from our Developer Advocates and the MongoDB community! Types of interviews After doing some initial research, it is important to prepare for the actual interviews. Our interview process usually includes one or two virtual interviews and then an onsite interview, which we are currently conducting via Zoom. This may change in accordance with company and COVID-19 guidelines. These interviews and what they cover will vary by team, so it is important to speak with your recruiter and ask for any additional tips or insight into what to expect. Our recruiting process is primarily team-based, which means you’ll interview for a role on a specific team, and many of your interviewers will be team members, as well as your manager. In general, you can expect to receive questions about your background, interest in MongoDB, and why you are interviewing to work with that team. You’ll also have the opportunity to ask your interviewers questions about all things MongoDB. Technical Interviews Technical interviews have a variety of areas that may be covered, including concurrency, distributed systems, algorithms, system design, and language-specific coding. An important part of the technical interview that often goes under the radar is the need for effective communication when talking through your thought process or discussing the problems that are presented. Below are some of the things our engineers look for in a good technical performance. Writing code: strong understanding of the language being used, code is concurrency-safe, works in edge cases, good object-oriented design Software engineering: understanding of data structures and algorithms, considering trade-offs (e.g., run time vs. memory), testing your code Collaboration: clear and concise code that is readable and organized, responding well to suggestions or hints, effective communication about difficulties faced Systems design: design a solution to scale to high levels of concurrency, throughput, and reliability. Does it avoid common bottlenecks, how do we prove its correctness, and what are the trade-offs or alternative solutions? Behavioral Interviews Behavioral interviews focus on how you may add to the culture we continue to build at MongoDB. Reviewing our code of conduct and core values will show you how we operate as a company and what we expect from our employees. Other topics of discussion you should expect in these interviews are successes and failures, what you have learned from these experiences, and what you are looking for in your next role. We will also ask you about your experience with mentoring and learning from other engineers and leaders, your goals and aspirations for the future, and your experience with owning or leading projects. What we offer There are a few things we can promise if you decide to interview for an Engineering role at MongoDB. First, you’ll have a speedy and transparent process with a single, dedicated recruiter. We tailor each of our interview processes to fit the role’s responsibilities and seniority level, and you won’t be asked any riddle questions that aren’t related to the work you’d be doing. Our interview questions are typically sourced from real problems we have had to solve. You’ll also have the opportunity to interact with your future manager and some future teammates, and we hope you find that your interviewers are genuinely interested in you as a person and seeing you succeed at MongoDB. We believe different experiences, identities, and perspectives build a unique culture that helps us create and innovate the next generation of MongoDB. In short, following this guide will help prepare you for a successful interview at MongoDB. Ensure you have gained some knowledge about our company, mission, and goals; the role you’re interviewing for and the team you’d be working on; and the types of interview questions you may be asked. And be prepared with questions for us! We’re so glad you’re interested in joining our team, and we look forward to seeing you in the interview process. Interested in pursuing a career in engineering at MongoDB? We have several open roles on our teams across the globe and would love for you to transform your career with us!