Twitter is an American microblogging and social networking service on which users post and interact with messages known as "tweets". With an active user base of 353 million in 2021, Twitter is one of the world's largest technology companies.
Being an internet technology company, Twitter relies on its software engineers to continually improve and upgrade its platform for enhanced user experience and satisfaction.
Role and responsibility
- Work cross-functionally with committed teammates to build features on twitter.com.
- Use your in-depth knowledge of modern web APIs and frameworks, such as React, Redux, React Router, GraphQL, Webpack, to develop solutions for conversational mechanics and media playback across devices and platforms — a unique challenge in web development.
- Develop strong skills and best practices internal and external to the team through participation in design and code reviews.
- Take an active role in team processes, and product decisions. From using data and user feedback to help prioritize, to owning a feature end-to-end, you’ll be engaged to do more than just writing code.
- Participate in our educational culture, embracing opportunities to learn from Twitter’s community of web engineers, designers, and product managers, as well as teaching us your strengths.
- B.S. or higher in Computer Science, or 4+ years of relevant work experience
- Excellent web development skills and in-depth knowledge of modern web APIs and frameworks, such as React, Redux
- Experience in designing and building customer facing Progressive Web App(s)
- Having experience in a tech lead/architect capacity including setting technical direction for the team.
- Experience of having worked in cross-functional teams, including product management, design, and infrastructure.
- Experience in designing and delivering reliable, efficient software and systems.
Twitter Software Engineer salary
- Entry-level salary : USD 191,000
- Senior positions : USD 719,000.
- Median salary : USD 253,000 with the base component being USD 164,000, stock component being USD 64,000 and bonus being USD 25,000.
The Twitter Software Engineer interview is a 3-stage process, comprising the phone screen, technical screen, and the onsite round.
The Phone screen is a 45-minute telephonic interview with the recruiter. Here, the recruiter asks questions related to your CV and work experience, if any. The basic aim of this exercise is to test the candidate's motivation for the role and to know if he/she meets the experiential and cultural fit for the role and the company. Candidates who are fresh out of college should be thorough with their CV, and any projects or internships they might have done while at college.
Most asked interview questions in the Initial Screen.
- Why do you want to pursue a career in software engineering?
- Why Twitter?
The technical screen is a one-hour interview with the hiring manager and a Twitter software engineer. This round is aimed at assessing your technical skills in the following areas:
- Systems Design
The coding aptitude section of the technical screen will feature questions that test the general programming abilities of the candidate. The focus will primarily be on object-oriented programming. Students need to be proficient in at least one of the programming languages among C++, Java, and Python. Typically, the interviewer asks 2-3 coding questions that need to be attempted through a shared online code editor.
Systems design covers under its ambit, system architecture, product design, modules, interfaces, and data for a system to satisfy specified requirements. Companies such as Twitter need candidates with good system design abilities to help them solve real problems that they might be facing through the tangible application of knowledge. The interviewer may ask questions on front-end design, back-end design, scalability, and more in this section.
Most commonly asked Coding questions in the Technical screen:
- Given an array of integers, return a new array such that each element at index i of the new array is the product of all the numbers in the original array except the one at i.
- Given a sorted array a[ ] and a number p, write a function that counts the occurrences of p in a[ ].
- Write a code to add an element in the middle of a linked list.
- Can you write a function to convert a sorted list into a binary search tree?
Most commonly asked System Design questions
- You have n threads and each thread will produce a message/object which has some properties including timestamp as one of the properties. Now you have to process the message based on the arrived timestamp. How would you design this system?
- Design the Redbus payment system.
- Design a recommendation system.
- Design a system that uploads a lot of data like electricity readings in a specific format and performs some aggregation on this. This data is uploaded from different tenants and in any format and using modes like https, FTP, etc.
- Can you design a movie ticket reservation system?
- Tell me how you would design a chat application like WhatsApp or Facebook messenger?
- Tell me how you would go about managing Web Services API versioning?
- In what situations would you apply asynchronous communication between two systems?
Want to practice more such questions with an Twitter Software Engineer?
Book a mock interview session with a Twitter Software Engineer expert.→ Book Now!
The onsite round is an extended version of the phone screen. It is conducted at one of Twitter's campuses and consists of 3 interviews - two technical, and one behavioral. Each of the technical rounds is an hour long while the behavioral round lasts for an hour and 30 minutes.
Technical Round 1
The technical rounds are conducted by a senior software engineer at Twitter.
The first technical round would mostly feature coding questions. It will feature at least two coding problems. Candidates should be prepared to code in C/Java, or Python.
Technical Round 2
The second technical round will feature system design questions. It will feature at least 2-3 system design questions. Interviewers may ask back-end design, frontend design, as well as scalability questions.
The Behavioral interview will consist of questions to assess behavioral aspects of your personality. You may be asked situational questions as to how you tackled a particular situation. Interviewers may also be interested in knowing what drives you to become a software engineer, or what is your motivation for choosing Twitter. There may also be a few scenario-based questions to test your leadership skills.
The important thing to keep in mind in behavioral interviews is to speak your mind and be honest in your replies. There is always a possibility of back and forth between you and the interviewers over a question or an answer, so be ready for that.
Tips for the Onsite round:
- Follow the "Think out loud" approach to let the interviewers know your approach to the answer, and avoid rushing to answer.
- Do not hesitate to ask clarifying questions.
- For the behavioral interview, do some research about Twitter, and its values. Also, think of a few examples to use in the scenario-based questions regarding your previous work experience, your achievements, the challenges you faced, and how you overcame those.
With the above pointers, we are sure you would do well in your Twitter Software Engineer interview.
Most asked coding questions in the Onsite Round:
- Given a list of numbers, write a Python program to create a list of tuples having the first element as the number and second element as the cube of that number.
- Write a program to find the longest palindrome in string.
- Write a function to find the middle element of a singly linked list in one pass.
- Write a code to implement preorder traversal in a Binary Search Tree.
- Write a function to find all pairs of an integer array whose sum is equal to a given number.
- How will you design a system to collect data from IoT devices?
- Tell me how you would go about designing a recommendation system without a search query.
- Design a Billing System for a cloud-based Platform.
- Design a system which returns to a user all the restaurants within a 2 km radius of his location.
- Design a Trivago-like system which gets you rates from the various websites and shows you the current ones.
Most commonly asked questions in the Behavioral section
- Why Twitter?
- Why software engineering?
- Where do you see yourself 10 years down the line?
- Do you like working on a team?
- Tell me something about how you set goals for yourself.
- How do you handle pressure at work?
Thanks for reading.
All the best!