1. Online application: I filled out a pretty standard online application form where I uploaded my resume, typed my programming, research, and data science experience, and answered questions about my eligibility.
2. Take-home challenge: I quickly got an email saying I wasn't eligible but another one after a few days clarifying that I was. Then in about a week after my application, I got an invite to complete a take-home challenge in 72 hours. The data analysis portion was not too difficult if you're familiar with Pandas or SQL, the coding questions went from easy to tricky, and you'll also be asked to propose a project (high business value + technically interesting). At this point, you just need to demonstrate some exploratory analysis and visualizations. Of course, if you've already done some modeling and even deployed the models, all the more impressive. You even have a chance to update the project portion after the deadline.
3. Group interview: In a few days after completing my take-home challenge, I got an invite for a group video interview. It was rather intense: You got one week or so to prepare a project proposal and two minutes to present to the interviewer and a group of other applicants. Based on my experience, successful applicants had much more than a Jupyter Notebook with some graphs; rather, some already built a web app and some had thorough plans regarding the tech stack, data source, and the business impact. You can't go over this limit so be really well rehearsed and engaging. When I interviewed, only the interviewer asked questions (both about technical issues I didn't make clear and what I hope to accomplish) but not other applicants.
It didn't take long (I don't remember how long) before I got an offer. I heard controversial opinions about TDI's interview process but I really liked it.