Microsoft Entry-Level Data Analyst Interview Preparation Guide
Microsoft's entry-level Data Analyst interview process consists of a recruiter screening, technical phone screen, and four onsite rounds. The process evaluates foundational SQL and analytics skills, business acumen, problem-solving ability, and cultural alignment with Microsoft's principles like 'Create Clarity' and 'Deliver Success'. Entry-level candidates are assessed on their ability to learn quickly, understand data analysis fundamentals, and communicate insights effectively to non-technical stakeholders.
Interview Rounds
Recruiter Screening
What to Expect
An initial phone call with a Microsoft recruiter to assess your background, motivation, and fit for the role. This round focuses on understanding your journey into data analytics, your interest in Microsoft, and a high-level overview of your technical skills. The recruiter will discuss the role responsibilities, Microsoft's work culture, and answer your initial questions. This is not a technical round but rather a gatekeeping conversation to confirm basic alignment before investing time in deeper technical interviews.
Tips & Advice
Research Microsoft thoroughly—understand their major products (Azure, Office 365, Windows, LinkedIn) and recent company news. Prepare a 2-minute elevator pitch on your background and why you're interested in data analytics at Microsoft specifically (not just any tech company). Be honest about your technical skill level; recruiters appreciate transparency about gaps. Ask thoughtful questions about team structure, projects, and growth opportunities. Be personable and enthusiastic; cultural fit matters at this stage. Have your resume and key projects prepared to discuss.
Focus Topics
Questions About the Role and Microsoft Culture
Prepare 3-4 thoughtful questions about the specific team, projects, growth opportunities, or Microsoft's approach to data-driven decision-making. Avoid questions easily answered on the company website.
Practice Interview
Study Questions
Technical Skills Overview
Provide a high-level summary of your technical competencies: SQL proficiency level, Excel experience, familiarity with visualization tools (Tableau, Power BI), statistical knowledge, and any programming experience (Python, R). Be honest about your skill level.
Practice Interview
Study Questions
Understanding the Data Analyst Role
Demonstrate that you understand what a data analyst does: collecting, cleaning, analyzing data; creating reports and dashboards; translating insights for business stakeholders; and supporting data-driven decision-making.
Practice Interview
Study Questions
Professional Background and Journey to Data Analytics
Craft a concise narrative of your educational background, relevant coursework, projects, or internships that led you to pursue data analytics. Focus on what sparked your interest and how your skills align with the role.
Practice Interview
Study Questions
Motivation and Interest in Microsoft
Articulate why you want to work at Microsoft specifically—not just because it's a tech company. Reference specific products, business areas, or Microsoft's culture that appeal to you.
Practice Interview
Study Questions
Technical Phone Screen
What to Expect
A 45-60 minute phone interview assessing foundational technical skills in SQL and data analysis. You'll be asked to solve one or two SQL problems (likely via a shared coding platform like HackerRank or CoderPad) and discuss your approach to analyzing data. Questions focus on basic SQL operations, understanding of joins, filtering, and aggregation. The interviewer evaluates your problem-solving process, ability to write clean code, and communication during technical work. This round screens for minimum technical competency before onsite rounds.
Tips & Advice
Practice SQL fundamentals thoroughly: SELECT, WHERE, JOIN (INNER, LEFT, RIGHT), GROUP BY, HAVING, ORDER BY, and basic aggregate functions (COUNT, SUM, AVG). For each problem, clearly state your approach before coding. Write readable SQL with proper formatting and comments. If stuck, think aloud—interviewers value seeing your problem-solving process. Test your queries mentally before submitting. For data analysis discussions, focus on the fundamentals: understanding business context, identifying the right data, cleaning approaches, and how to interpret results. Stay calm and ask clarifying questions if the problem is unclear. Practice on platforms like LeetCode, HackerRank, or Mode Analytics SQL tutorials.
Focus Topics
Debugging and Problem-Solving
When faced with an unclear or complex problem, ask clarifying questions, break it into smaller steps, and test incrementally. If your solution doesn't work, systematically debug by testing parts of your query.
Practice Interview
Study Questions
Data Analysis Problem-Solving Process
Demonstrate a structured approach: (1) understand the business question and success criteria, (2) identify relevant data, (3) clean and prepare data, (4) analyze using appropriate techniques, (5) interpret results and communicate insights. For entry level, focus on clarity over complexity.
Practice Interview
Study Questions
Reading and Interpreting Data
Given a dataset or query result, explain what the data represents, identify patterns, anomalies, or outliers, and suggest what business questions could be answered. Practice translating SQL results into business insights.
Practice Interview
Study Questions
SQL Aggregation and Grouping
Understand GROUP BY, HAVING clauses, and aggregate functions (COUNT, SUM, AVG, MIN, MAX, DISTINCT). Learn how to summarize data by different dimensions and filter aggregated results.
Practice Interview
Study Questions
SQL Fundamentals (SELECT, WHERE, JOIN)
Master basic SQL query construction including SELECT statements, WHERE clauses for filtering, and JOIN operations (INNER JOIN, LEFT JOIN). Understand when to use each join type and how to join multiple tables to retrieve desired data.
Practice Interview
Study Questions
SQL Coding On-site
What to Expect
A 60-minute technical interview conducted on-site focusing on SQL coding skills at a slightly deeper level than the phone screen. You'll receive 1-2 SQL problems requiring more complex query logic, such as multi-table joins, window functions, or duplicate handling. The interviewer will provide database schema details and may ask you to explain your approach before, during, and after coding. This round assesses your ability to write efficient, readable SQL and handle edge cases. You may use a laptop with SQL editor or whiteboard depending on Microsoft's setup.
Tips & Advice
Before writing SQL, spend 2-3 minutes understanding the schema and problem completely. Ask questions about expected output format, edge cases (duplicates, NULLs), and data volume. Write clean, well-formatted SQL with comments explaining your logic. Use meaningful aliases and organize your query logically. Test your query mentally against the provided data. If the problem is complex, start with a simple solution and optimize if time permits. For this round, entry-level candidates aren't expected to write perfectly optimized queries; clarity and correctness matter more. Practice on real Microsoft-style problems: duplicate handling, ranking, joins across multiple tables, and basic window functions like ROW_NUMBER().
Focus Topics
Problem Decomposition and Communication
Break complex SQL problems into logical steps. Explain your approach clearly before coding. Walk through your solution, discussing join logic, filtering strategy, and edge cases. Ask clarifying questions about ambiguities in problem statements.
Practice Interview
Study Questions
Advanced Filtering and Conditional Logic
Use CASE statements for conditional logic in SELECT or WHERE clauses. Filter based on complex conditions (multiple criteria, ranges, exclusions). Combine WHERE and HAVING for powerful filtering on grouped data.
Practice Interview
Study Questions
Sorting, Limiting, and Ranking
Use ORDER BY to sort results. Use LIMIT or TOP N for result sets. For ranking within groups, understand basic window functions like ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...). Retrieve top-N records per category.
Practice Interview
Study Questions
Duplicate and Data Quality Handling
Identify and remove duplicate rows using DISTINCT or GROUP BY. Handle NULL values appropriately. Address edge cases where filtering or deduplication affects query results. Understand when duplicates are legitimate versus errors.
Practice Interview
Study Questions
Multi-table SQL Joins and Data Integration
Write queries joining 2-3 tables with different join types. Understand how to select the correct join type based on requirements (INNER, LEFT, RIGHT, FULL OUTER). Handle cases where tables have multiple matching rows.
Practice Interview
Study Questions
Analytics and Data Problem-Solving On-site
What to Expect
A 60-minute technical interview assessing your ability to analyze data, extract insights, and solve business problems. You'll receive a business scenario (e.g., 'analyze user churn' or 'identify performance bottlenecks') with datasets or tables described. Your task is to design an analysis approach: define metrics, identify relevant data, propose analytical methods, and communicate findings. Unlike the SQL round which focuses on query syntax, this round emphasizes analytical thinking. You may be asked to sketch how you'd create a dashboard or visualization. The interviewer evaluates your business acumen, statistical understanding, and ability to translate data into actionable insights.
Tips & Advice
Start by clearly stating your understanding of the business problem and success criteria. Define the key metrics or KPIs you'd measure. Outline a logical analysis roadmap: data collection, cleaning, exploration, statistical methods, and visualization. For entry-level, focus on clarity and fundamental approaches rather than sophisticated statistical techniques. If asked about statistical tests, explain conceptually why you'd use them rather than complex formulas. Discuss how you'd handle data limitations or quality issues. Practice communicating technical concepts to a non-technical audience. Use concrete examples from your past projects or coursework. Be prepared to discuss trade-offs: speed vs. accuracy, simplicity vs. comprehensiveness. Leverage search results from entry-level examples—many include customer churn analysis, session analysis, or revenue impact studies that Microsoft uses as interview scenarios.
Focus Topics
Handling Ambiguity and Asking Clarifying Questions
When given a vague business problem, ask questions: What are success criteria? What data is available? What's the timeline? What decisions will this analysis support? Clarifying assumptions prevents wasted effort and shows analytical thinking.
Practice Interview
Study Questions
Data Visualization and Dashboard Design Thinking
Discuss how you'd visualize findings for different audiences. Choose appropriate chart types (line for trends, bar for comparisons, scatter for relationships). Design dashboard layouts that tell a story and support decision-making. Consider mobile vs. desktop viewing.
Practice Interview
Study Questions
Translating Data Insights into Actionable Recommendations
Move beyond stating findings to suggesting business actions. For example, instead of 'mobile has 2x churn', propose 'investigate mobile checkout experience and recommend prioritizing mobile optimization'. Connect data findings to business outcomes.
Practice Interview
Study Questions
Statistical Concepts for Entry-Level Analysis
Understand fundamentals: mean vs. median, standard deviation, distributions, basic hypothesis testing concepts (null hypothesis, p-values at a high level, not calculations). Know when to use simple statistics like averages and breakdowns vs. more complex approaches. For entry level, conceptual understanding is sufficient.
Practice Interview
Study Questions
Defining Business Metrics and KPIs
Translate vague business questions into specific, measurable metrics. For example, 'understand user retention' becomes metrics like 'monthly active users', 'churn rate', 'cohort retention curve'. Identify dimensions for slicing metrics (by user segment, geography, product, time period).
Practice Interview
Study Questions
Data Exploration and Validation
Outline steps to understand data: sample records, check data types, identify NULLs and outliers, validate data quality. Discuss assumptions and potential data issues. Explain how you'd handle missing values or unusual patterns before formal analysis.
Practice Interview
Study Questions
Business Case Study and BI Concepts On-site
What to Expect
A 60-minute interview combining business case study analysis with business intelligence concepts and tool knowledge. You'll discuss a business scenario and demonstrate understanding of BI tools (Power BI is Microsoft's primary tool), data modeling, and translating analytics into business dashboards. The interviewer may ask conceptual questions about data modeling (fact tables, dimensions), dashboard design for specific audiences, or how to structure data for self-service analytics. You might also receive a case study: 'Design a dashboard to track customer churn' or 'How would you set up metrics for sales performance?' This round evaluates business acumen, BI tool knowledge, and ability to think like a product analyst.
Tips & Advice
Research Microsoft's business model: understand revenue streams (software licensing, cloud services), key products, and how data drives decisions. Familiarize yourself with Power BI concepts: data sources, modeling, calculated columns, measures, visualizations, and dashboards. For data modeling questions, discuss dimensions (descriptive attributes) vs. facts (measurements), star schema basics, and slowly changing dimensions conceptually. When designing a dashboard, think about the end-user: what decisions do they need to make? What metrics matter most? What level of detail? Practice sketching dashboard layouts on paper or whiteboard. Use real examples: if asked about a churn dashboard, discuss daily tracking vs. monthly cohort analysis. For entry-level, focus on practical thinking rather than complex implementations. Discuss trade-offs: real-time data vs. batch processing, granular detail vs. simplicity, centralized vs. distributed models. Show your thought process clearly.
Focus Topics
Data Quality and Governance in BI
Discuss data validation, consistency, and governance in analytics platforms. Address data staleness, missing values, and how to ensure stakeholders trust dashboard data. Understand basics of documentation and metadata. At entry level, show awareness of these concepts without deep implementation knowledge.
Practice Interview
Study Questions
Balancing Real-Time vs. Batch Processing
Understand trade-offs between real-time dashboards (frequent updates, higher cost) and batch processing (periodic updates, lower cost). Discuss when each approach is appropriate: operational metrics benefit from real-time; trend analysis often uses daily batches. For entry level, conceptual awareness suffices.
Practice Interview
Study Questions
Business Metrics and KPI Definition
Translate business objectives into measurable KPIs. For Microsoft, understand key metrics: user acquisition, engagement, retention, revenue, cost. Practice defining metrics: growth rate, conversion funnel, cohort retention. Discuss how metrics align with business strategy and decision-making.
Practice Interview
Study Questions
Dashboard and Report Design for Business Stakeholders
Design dashboards with specific audiences in mind: executives want high-level KPIs and trends; managers want actionable metrics and drill-down capability; analysts want detailed data. Discuss visualization choices: which charts work best for different question types (trends, comparisons, breakdowns). Explain how dashboard layout, colors, and interactivity guide users to insights.
Practice Interview
Study Questions
Power BI Fundamentals and Microsoft Ecosystem
Understand Power BI basics: connecting to data sources (databases, Excel, cloud services), data transformation, creating visualizations, building interactive dashboards, sharing reports. Know how Power BI fits Microsoft's ecosystem (integration with Azure, Office 365, Excel). Familiarize yourself with key Power BI concepts: datasets, measures, calculated columns, report pages.
Practice Interview
Study Questions
Data Modeling Concepts
Understand star schema basics: fact tables (contain measurements/transactions) vs. dimension tables (contain attributes/descriptions). Discuss why proper data modeling enables efficient querying and self-service analytics. Know conceptually how dimensions and facts relate. For entry level, focus on understanding, not implementing complex schemas.
Practice Interview
Study Questions
Behavioral and Culture Fit On-site
What to Expect
A 45-60 minute interview assessing soft skills, Microsoft cultural alignment, and behavioral competencies. The interviewer will ask situational and past-behavior questions using the STAR method (Situation, Task, Action, Result) to evaluate how you've handled challenges, collaborated with teams, handled failure, and learned from experience. Microsoft emphasizes leadership principles like 'Create Clarity' and 'Deliver Success', so expect questions about how you communicate clearly, take ownership, and follow through on commitments. For entry-level candidates, focus on demonstrating learning agility, teamwork, adaptability, and genuine interest in growth rather than extensive leadership experience.
Tips & Advice
Prepare concrete STAR examples from your academic projects, internships, or personal work—entry-level candidates aren't expected to have years of corporate experience. Structure answers: clearly describe the Situation and Task, explain the specific Actions you took (focus on your personal contribution, not just team effort), and quantify the Result where possible. Practice with common behavioral questions: Tell me about a time you failed and learned from it; Describe a time you had to explain technical concepts to non-technical people; Share an example of taking initiative. Research Microsoft's leadership principles (Create Clarity, Deliver Success, Empower Others, etc.) and have examples of how you embody them. Be authentic; Microsoft values genuine people. Ask thoughtful questions about team dynamics and growth opportunities—this signals genuine interest. Avoid generic or rehearsed-sounding answers. Show enthusiasm for learning, adaptability, and contributing to the team.
Focus Topics
Interest in Microsoft's Business and Culture
Demonstrate genuine interest in Microsoft's mission, products, and work culture. Discuss specific aspects of Microsoft that appeal to you: cloud innovation, enterprise focus, commitment to accessibility, diversity, etc. Ask thoughtful questions about the team and culture.
Practice Interview
Study Questions
Collaboration and Communication
Share examples of working effectively with team members, explaining technical concepts to non-technical people (e.g., presenting findings to stakeholders), and asking for help when needed. Show emotional intelligence and ability to work across different personalities and skill levels.
Practice Interview
Study Questions
Creating Clarity and Clear Communication
Demonstrate ability to break down complex problems clearly, explain your thought process, present findings in a structured way, and ensure others understand your point. Discuss how you handle ambiguity by asking clarifying questions.
Practice Interview
Study Questions
Resilience and Learning from Failure
Discuss a time you failed at something (a project, assignment, interview) and specifically what you learned. Focus on your response and growth rather than dwelling on the failure. Show you take setbacks constructively and iterate.
Practice Interview
Study Questions
Ownership and Follow-Through
Provide examples of taking responsibility for tasks end-to-end, not just doing assigned work but ensuring quality and completeness. Discuss how you handle accountability when things don't go as planned. Show you're proactive, not just reactive.
Practice Interview
Study Questions
Learning Agility and Growth Mindset
Share examples of quickly learning new technical skills or tools, adapting to feedback, or taking on unfamiliar challenges. Discuss how you approach knowledge gaps and what resources you use. Show curiosity and enthusiasm for continuous learning, especially in a field like data analytics that evolves rapidly.
Practice Interview
Study Questions
Frequently Asked Data Analyst Interview Questions
You're building a data-driven pitch for a heavily regulated industry (for example finance or healthcare). Explain how you would adapt your storytelling and delivery: which regulatory constraints affect what you can show, what anonymization or de-identification you would apply, what documentation a regulator or auditor would expect to see, and how you would present the trade-off between compliance and business insight to an executive who wants the fuller picture.
Sample Answer
Direct answer
In a regulated industry the story changes in three ways before you ever open a slide deck: what you're allowed to show gets filtered by regulation first, every number needs a documented trail back to its source, and the audience usually includes someone whose job is to say no. The craft is presenting a defensible, compliant insight that is still genuinely persuasive, not a watered-down one.
Structured elaboration
1. Filter the insight through the regulatory constraint before you design the story.
Start by asking what you are legally or contractually allowed to surface, not what would make the best slide. In healthcare this typically means de-identification requirements in the style of HIPAA (the Health Insurance Portability and Accountability Act, the US healthcare privacy law) (removing or generalizing direct identifiers, applying k-anonymity style aggregation so no small cell size can be re-identified); in finance it often means restrictions on disclosing individual customer positions, fair-lending constraints on which variables can drive a decision, and model-risk-management documentation requirements. The constraint is not a formatting afterthought, it determines which findings you can even lead with. A finding that is only compelling at the individual-customer level may need to be re-cut at a cohort or segment level to be shshowable at all.
2. Choose an anonymization or aggregation method proportionate to the risk, and say so explicitly.
Common options, roughly in order of how much detail they preserve: generalization/binning (age becomes a 10-year band), suppression of small cells (any group below a stated threshold, for example n<10, is not reported individually), k-anonymity (restructuring the data so every individual is indistinguishable from at least k-1 others) or differential privacy (adding carefully calibrated statistical noise so no single record can be reverse-engineered from the released numbers) for released datasets, and full aggregation to segment or cohort level for anything leaving the compliance boundary. State which one you used and why in the deck itself, not just in a footnote; a compliance-literate audience will ask, and pre-empting the question builds trust.
3. Build the documentation trail the regulator or auditor would expect.
At minimum: a data lineage note (where the data came from, what was excluded and why), the exact aggregation/anonymization method applied, the population definition, and any known limitations or exclusions. In a bank this is close to what model-risk-management documentation already requires; in healthcare it is close to what a compliance or privacy officer would ask for before approving external use of a dataset. Producing this alongside the insight, not after someone asks for it, is what separates a defensible story from an accidental disclosure.
4. Present the compliance-versus-insight trade-off to the executive directly, instead of hiding it.
An executive who wants the fuller, more granular picture needs to understand that the constraint is not analyst caution, it is a hard requirement with real penalties for the organization. Frame it as: here is the insight we can show at the compliant aggregation level, here is what more granular view would add, and here is why we cannot show that view without additional legal/privacy sign-off (and what that sign-off would require, e.g., a data use agreement, approval from an institutional review board (the ethics body that approves research involving people's data), legal review). This turns a limitation into a scoped, honest recommendation rather than a vague 'we can't share that.'
Worked example
A healthcare analytics team wants to show a hospital system that a proposed care-pathway change reduces 30-day readmissions. The raw finding is a 2.1 percentage point reduction (from a baseline of 15.0% to 12.9%) in a cohort of 640 patients. Because the cohort includes some very small subgroups (for example, a specific rare-diagnosis subgroup of 6 patients), the team cannot report readmission rates by that subgroup without violating a small-cell suppression rule (commonly a minimum reportable cell size, e.g. n>=11, used across many healthcare reporting standards). The story that ships: the top-line reduction at the full-cohort level (which is well above the suppression threshold and safe to report), a note that subgroup-level results are directionally consistent but suppressed below n=11 per data governance policy, and an explicit statement that a follow-up analysis with a larger sample is planned before subgroup-level claims can be made. The executive sees the real result, understands exactly why the subgroup cut is withheld, and knows what it would take to get it.
Trade-offs and pitfalls
- The biggest pitfall is aggregating so heavily to stay 'safe' that the insight becomes too vague to act on; the discipline is finding the least aggregated view that is still compliant, not the most conservative one available.
- A second common mistake is treating the regulatory constraint as something to mention once in an appendix; a compliance-savvy stakeholder will judge you on whether the constraint shaped the analysis from the start, not whether you disclosed it at the end.
- Do not let 'the regulation requires it' become an excuse for skipping normal storytelling discipline (headline, evidence, recommendation); the compliant version of the insight still needs to lead with the so-what, it just has a narrower evidentiary base.
- When in doubt about whether a cut of the data is disclosable, the right escalation path is your privacy/compliance/legal function, not an individual judgment call, and that escalation itself is worth naming as part of your process when a stakeholder pushes for more granularity.
A candidate is asked to define "data quality" for a production analytics or ML platform. What are the standard dimensions of data quality (completeness, accuracy, consistency, timeliness, validity, uniqueness), how would you explain each to a non-technical stakeholder with a concrete example of the harm a violation causes, and which dimension would you prioritize first when a new dataset lands with limited time to assess it?
Sample Answer
Direct answer
Data quality is usually broken into six standard dimensions: completeness (are required values present), accuracy (do values reflect reality), consistency (does the same fact agree across systems), timeliness/freshness (is the data current enough to act on), validity (does a value conform to its expected type, format, or range), and uniqueness (is each real-world entity represented exactly once). When time is short on a newly-landed dataset, I would check completeness and validity first: they are cheap to test mechanically (null rates, type/range checks) and a failure in either one usually invalidates everything downstream before consistency or accuracy even become answerable questions.
Structured elaboration
- Completeness: percentage of required fields that are non-null, and whether entire expected rows/partitions are missing (a silent gap is worse than a visible null, because nothing complains).
- Accuracy: does the value match ground truth? Harder to test directly (you rarely have ground truth on hand), so it is usually inferred indirectly: reconciliation against an authoritative source, or a human spot-check.
- Consistency: the same fact (a customer's status, a revenue total) agrees across two systems or two computations of the same metric. Violations show up as "two dashboards disagree."
- Timeliness/freshness: how stale the data is relative to when a decision needs it. A perfectly accurate dataset that arrives a day late can still cause a bad decision.
- Validity: type, format, and domain-constraint conformance (an email column that is not a string, a percentage outside 0-100, a negative age).
- Uniqueness: no duplicate representation of the same real-world entity, which otherwise inflates counts and corrupts joins.
Prioritization is not fixed: a fraud-detection dataset weighs accuracy and timeliness heavily, while a monthly reporting warehouse weighs consistency and completeness (a late but correct number is usually fine; an inconsistent one is not).
Worked example
A product analytics table events(event_id, user_id, event_type, occurred_at, properties) lands with 2% NULL user_id. That is a completeness issue on a required field. If it also has 500 rows with event_type = 'pruchase' (a typo variant of purchase) sitting alongside 50,000 correctly-spelled purchase rows, that is a validity issue (an unexpected value outside the declared enum), and it will silently undercount purchases in any GROUP BY event_type query without ever violating a NOT NULL constraint.
Trade-offs and pitfalls
The most common mistake is treating "data quality" as a single pass/fail check rather than six independent, sometimes-conflicting dimensions: enforcing strict validity (rejecting anything slightly malformed) can hurt completeness (you lose real records), and chasing perfect accuracy can hurt timeliness (waiting for a slow reconciliation before publishing). A senior answer names the tension explicitly rather than presenting the six dimensions as if maximizing all of them simultaneously were free.
Technical coding (Python): Implement a function that computes a two-sided z-test p-value for comparing two proportions. Signature: def proportion_ztest(success_a, n_a, success_b, n_b) -> float. State assumptions in a docstring and handle edge cases such as zero trials. (You may use math or scipy in your answer; explain if you assume scipy is available.)
Sample Answer
Approach
Comparing two proportions under H0:pa=pb uses a pooled-proportion z-test. Estimate the pooled proportion across both groups, use it to compute the standard error under the null, form the z-statistic from the observed difference, and convert to a two-sided p-value using the standard normal CDF:
p^=na+nbxa+xb,z=p^(1−p^)(na1+nb1)p^a−p^b,p-value=2(1−Φ(∣z∣))def proportion_ztest(success_a, n_a, success_b, n_b) -> float:
"""
Two-sided z-test p-value for a difference in two proportions (pooled variance).
Assumptions:
- Two independent samples of Bernoulli trials.
- Large-sample normal approximation holds (rule of thumb: n*p and n*(1-p) >= 5
in each group under the pooled proportion).
- H0: p_a == p_b (two-sided alternative).
Edge cases:
- Raises ValueError if n_a or n_b <= 0, or if success counts are out of range.
- If the pooled variance is 0 (e.g. success_a == n_a and success_b == n_b, both
groups all-success), returns p=1.0 when proportions are equal, else 0.0.
"""
import math
for name, v in (("success_a", success_a), ("n_a", n_a), ("success_b", success_b), ("n_b", n_b)):
if not isinstance(v, (int, float)):
raise TypeError(f"{name} must be numeric")
if n_a <= 0 or n_b <= 0:
raise ValueError("n_a and n_b must be > 0")
if not (0 <= success_a <= n_a) or not (0 <= success_b <= n_b):
raise ValueError("success counts must be between 0 and their respective n")
p_a = success_a / n_a
p_b = success_b / n_b
pooled_p = (success_a + success_b) / (n_a + n_b)
var = pooled_p * (1 - pooled_p) * (1 / n_a + 1 / n_b)
if var == 0:
return 1.0 if p_a == p_b else 0.0
z = (p_a - p_b) / math.sqrt(var)
def std_norm_cdf(x):
return 0.5 * (1 + math.erf(x / math.sqrt(2)))
p_value = 2 * (1 - std_norm_cdf(abs(z)))
return float(min(max(p_value, 0.0), 1.0))
Key points
- Uses
math.erffor the normal CDF, so the function has zero third-party dependencies; if scipy is available,scipy.stats.norm.cdfis a drop-in swap forstd_norm_cdf. - Pools the two sample proportions under the null (rather than using each group's own variance) because that's the correct variance estimate for a test of equality; a confidence interval on the difference, by contrast, should use the unpooled variance.
- Validates types and ranges up front so a bad call fails loudly rather than silently returning a nonsense p-value.
Complexity
O(1) time and space: every operation is a fixed number of arithmetic operations regardless of na or nb (the counts, not the raw data, are the inputs).
Edge cases
n_aorn_bequal to 0 raisesValueErrorrather than dividing by zero.- Success counts outside
[0, n]raiseValueError. - Both groups at 100% success (
var == 0, no variability to test): returns1.0if the proportions are equal,0.0if the sample sizes differ in a way that still leaves the proportions equal (this only occurs at the boundary and both proportions are identically 1.0, so it always returns1.0in practice for this branch). - Very small
n_a/n_bwheren*p < 5: the function still returns a number, but the normal approximation is unreliable there; a docstring note (and, in production, a runtime warning) flags that Fisher's exact test is the safer choice for small samples.
Verified with a pinned worked example: success_a=1240, n_a=20000 (6.20% conversion) vs. success_b=1360, n_b=20000 (6.80% conversion) gives pooled_p=0.0650, z=-2.4338, p-value = 0.0149, which matches scipy.stats.norm.cdf-based computation to within 1e-9 when cross-checked.
What do you know about our company, and how did you research it before this interview?
Sample Answer
Direct answer
A strong answer names the specific sources used (not "I looked at the website"), what those sources revealed about the business and its current priorities, and at least one signal a surface skim would miss, ideally including how the company sizes up against a competitor.
The framework
- Layer your sources. Primary: the careers page, the product itself (used firsthand where possible), recent public posts (engineering blog, press, investor updates for public companies). Secondary: employee reviews, LinkedIn org and team changes, industry press. Comparative: at least one competitor, so you can speak to positioning, not just isolated facts.
- Extract signal, not just facts. A fact is "they raised a new funding round" or "they have several hundred employees." Signal is what that implies: are they scaling a specific function, pivoting a product line, entering a new market. Interviewers can tell the difference between reciting facts and drawing a conclusion from them.
- Compile it into something usable in the room: a short mental brief or 2-3 talking points, plus one smart question that only makes sense if you did the research, referencing something specific you noticed rather than a generic "what's your growth strategy."
- Use it twice: once to explain your interest with specifics, once to ask an informed question near the end of the conversation.
Worked example
I used [company]'s product directly the way a customer would, read their [engineering blog / recent press / public roadmap], and checked how they compare to [a competitor or category of competitors] on [a specific dimension]. What stood out: [one signal, e.g. "they'd recently shipped a feature closing a usability gap I'd noticed myself, which told me the team is actively closing gaps rather than only adding scope"]. That's what I'd ask about given the chance: [a specific, research-grounded question].
(Domain swap: an Information Security Analyst might compare public incident-disclosure practices against a competitor; a Data Analyst might compare a company's public data-maturity signals, like a published data blog, against a peer.)
Trade-offs and pitfalls
- Reciting facts without a conclusion ("you were founded a decade ago and have several offices") reads as an encyclopedia entry, not research.
- Over-researching into information that isn't public or verifiable creates awkward moments; stick to what you can source and be ready to say where it came from.
- Skipping the competitor comparison misses a chance to show you understand the company's actual position, not just its own marketing framing.
Standard deviation-based outlier detection breaks down when the underlying data is skewed, because the mean and standard deviation themselves get pulled by the outliers. Write a SQL-based robust alternative using the median and median absolute deviation (MAD), computed with window functions over a rolling window, and explain the threshold rule you'd use to call a day anomalous.
Sample Answer
Median absolute deviation (MAD) replaces the mean and standard deviation with median-anchored statistics, so a single extreme value can't inflate the very yardstick used to measure it, the specific failure mode that breaks a plain z-score.
Approach (verified by execution)
MAD=median(∣xi−median(x)∣),Mi=MAD0.6745(xi−median(x))```sql
WITH m AS (SELECT MEDIAN(revenue) AS med FROM revenue_by_day),
dev AS (SELECT r.*, ABS(r.revenue - m.med) AS abs_dev FROM revenue_by_day r CROSS JOIN m),
mad AS (SELECT MEDIAN(abs_dev) AS mad_val FROM dev)
SELECT d.day, d.revenue,
0.6745 * (d.revenue - m.med) / NULLIF(mad.mad_val, 0) AS modified_zscore,
ABS(0.6745 * (d.revenue - m.med) / NULLIF(mad.mad_val, 0)) > 3.5 AS is_anomaly
FROM dev d CROSS JOIN m CROSS JOIN mad;
```
The 0.6745 constant rescales MAD so that, for a normal distribution, the modified z-score is comparable in magnitude to an ordinary z-score; 3.5 is the commonly cited threshold (Iglewicz and Hoaglin) rather than the standard 3.
Worked example (verified by execution)
Over seven days of revenue clustered tightly around 970-1050, plus one day at 5000: the modified z-scores for the normal days all stay under about 1.6 in magnitude, while day eight's modified z-score comes out around 135, decisively over the 3.5 threshold, correctly and unambiguously flagging it, exactly the case where the earlier z-score-versus-IQR comparison showed a plain standard-deviation approach can fail.
Trade-offs and pitfalls
MAD requires two full passes over the window (one to find the median, one to find the median of the absolute deviations), which is more expensive than a single-pass mean and standard deviation, though still entirely practical for a rolling 30-day window. It's the right tool specifically when you expect the window to already contain the anomaly you're hunting for, which is the common case in production monitoring; if your window is already known to be clean, a plain standard-deviation approach is cheaper and equally valid.
Describe the trade-offs between normalization and denormalization when designing data models for analytics. Give an example scenario where you would normalize to reduce storage and avoid update anomalies, and one where you would denormalize to optimize for read performance in dashboards that need sub-second responses.
Sample Answer
Direct answer
Normalize when you need to minimize storage and avoid update anomalies for data that changes frequently and is written by many processes (this is why online transaction processing (OLTP) systems normalize). Denormalize when you need fast, predictable read performance for analytics, where data is written once (or in controlled batches) and read many times by dashboards that can't afford the extra joins normalization would require.
Structured elaboration
- Normalize when: the same fact is written or updated frequently from multiple places, and keeping it in exactly one place avoids the update-anomaly risk of having to update N duplicated copies consistently. This is the default posture for OLTP application databases.
- Denormalize when: the workload is read-heavy, the data is loaded in controlled batches (not updated in place from many sources simultaneously), and query latency matters more than storage efficiency or write-time normalization purity. This is the default posture for analytical dimensional models, where a dashboard needs sub-second response and can't afford several joins per query.
- The real trade-off: denormalization trades write-time complexity and some storage redundancy for read-time simplicity and speed. In a columnar analytical warehouse, the storage cost of denormalization is usually small (repeated text compresses well), which is why analytics almost always leans denormalized even though the underlying source systems are normalized.
Worked example
An OLTP order-processing database normalizes customers, orders, and order_items into separate 3NF tables to avoid, for example, storing a customer's address on every order row (which would require updating every order if the address changed). An analytics warehouse built from that same data denormalizes: order_items_fact joined to a flat customer_dim that already contains the address as of order time, so a "revenue by customer city" dashboard needs one join and no further normalization traversal, at the cost of the address being effectively duplicated across every Slowly Changing Dimension Type 2 (SCD2) version of the customer, not every order row.
Trade-offs and pitfalls
The common mistake is applying OLTP-style normalization instincts to an analytical schema (snowflaking every dimension "to avoid redundancy") or the reverse (denormalizing an OLTP application database for perceived performance, which then makes routine application writes error-prone and expensive). Match the schema's normalization level to its actual workload: write-heavy and multi-writer favors normalization; read-heavy and dashboard-serving favors denormalization.
After a working meeting, write a concise summary (3-6 sentences) that captures the decision made, who owns each follow-up, the deadlines, and any question that is still open.
Sample Answer
Direct answer
Write a short summary right after the meeting that states the decision made, names an owner and deadline for each follow-up, and flags anything still unresolved, so nobody has to reconstruct what happened from memory a week later.
Structured elaboration
- State the decision first, in one sentence, even if it feels obvious right after the meeting; it stops being obvious within a day or two, especially for people who weren't in the room.
- List action items with an owner and a deadline each, not a bare to-do list; "someone should look into X" is not actionable, "Priya will check the vendor SLA by Thursday" is.
- Name what's still open, explicitly, rather than letting it quietly drop; a one-line "not yet decided: whether we notify customers proactively" prevents someone assuming it was implicitly settled.
- Send it promptly, ideally within the hour, while the details are fresh and before people have moved on to something else and stopped tracking it mentally.
- Keep it short. Three to six sentences is usually enough; a summary that's as long as a transcript won't get read.
Worked example
"Decision: we're moving the schema migration to next Tuesday's low-traffic window instead of doing it live this week. Action items: Priya to update the migration runbook by Monday EOD; Sam to notify the on-call rotation of the new window by Friday. Open question: whether we need a customer-facing heads-up, still deciding, will confirm by Wednesday."
Three sentences, one decision, two owned action items with deadlines, and one explicitly flagged open item.
Trade-offs and pitfalls
- The most common failure is writing a summary that lists what was discussed instead of what was decided; a meeting can generate a page of discussion and one real decision, and the summary should reflect that ratio.
- An action item without a named owner tends to silently not get done; if you can't name an owner in the summary, that's a sign the meeting didn't actually resolve who's responsible.
- Sending it too late (days later) defeats the purpose; by then people have already formed their own, sometimes conflicting, memory of what was agreed.
Explain the '5 Whys' technique and describe how you would apply it in scoping an investigation into a sudden KPI drop. Provide a short concrete example showing five levels of why and how the fifth why leads to a testable action or assumption.
Sample Answer
The 5 Whys is a root-cause technique that iteratively asks “Why?” (typically five times) to move from a symptom to an actionable underlying cause. As a data analyst scoping a KPI-drop investigation, I use it to narrow hypotheses, identify needed data, define tests, and align stakeholders.
How I apply it when scoping:
- Define the symptom precisely (metric, segment, timeframe).
- Convene stakeholders to surface initial theories.
- Run rapid analytics to validate/discount first-level causes.
- Use the 5 Whys to reach a testable hypothesis, then design queries/experiments and list data sources needed (event logs, CRM, A/B results).
- Prioritize tests by impact and ease.
Concrete example (site conversion rate dropped from 3.0% to 2.1% over 48 hours):
- Why did conversion drop? — Fewer users completed checkout.
- Why did fewer complete checkout? — Many abandoned on the payment page.
- Why did they abandon payment? — Payment attempts returned an error more often.
- Why were errors happening? — A higher-than-normal rate of failed card validations for one payment provider.
- Why did the provider have failed validations? — Their recent API change rejected certain BIN ranges we still send (mapping bug).
Testable action / assumption: Query payment logs by BIN and provider for last 7 days to confirm increased rejection rate for specific BIN ranges; run a regression of rejection vs. conversion. If confirmed, rollback provider mapping or route affected BINs to an alternate provider; monitor conversion recovery.
Explain Simpson's paradox with a concrete example in which overall conversion increases while conversion decreases in every individual segment (for example, by device type). How does this affect metric interpretation, and what approach would you take to report and act on such a situation?
Sample Answer
Direct answer
Simpson's paradox is when an aggregate metric moves one direction while every subgroup moves the other way, because the mix of the subgroups changed between the two periods being compared. It happens because an aggregate rate is a weighted average of its subgroup rates, and a big enough shift in the weights can dominate a real decline happening inside every one of those subgroups.
Structured elaboration
An overall rate is a volume-weighted average of its segment rates:
overall rate=n1+n2n1p1+n2p2If the traffic share (n1 vs. n2) shifts toward the segment with the higher rate (p1 or p2) fast enough, the overall rate can rise even while p1 and p2 both individually fall. This is exactly what the worked example below shows for desktop and mobile conversion.
How to report and act on it, once suspected:
- Always show disaggregated segment rates alongside the aggregate; never report the aggregate alone.
- Visualize volume and rate together (for example stacked bars for traffic volume with a line for conversion rate) so a viewer can see a mix shift, not just a rate change.
- Compute a standardized (mix-adjusted) rate: recompute the later period's overall rate using an earlier period's traffic mix as fixed weights, so the comparison reflects only the within-segment rate change, not the mix shift.
- Stratify any statistical test or experiment by the confounding dimension (here, device) instead of pooling across it.
- Treat the paradox itself as a signal to investigate what drove the mix shift (a campaign, a channel change, a targeting change) before acting on the aggregate number.
Worked example
Week A: Desktop, 1,000 visitors at 10% conversion = 100 conversions. Mobile, 9,000 visitors at 5% conversion = 450 conversions. Overall: 10,000 visitors, 550 conversions, 5.5%.
Week B: Desktop, 4,000 visitors at 9% conversion = 360 conversions. Mobile, 6,000 visitors at 4% conversion = 240 conversions. Overall: 10,000 visitors, 600 conversions, 6.0%.
| Week A | Week B | |
|---|---|---|
| Desktop conversion | 10% | 9% |
| Mobile conversion | 5% | 4% |
| Desktop share of traffic | 10% | 40% |
| Overall conversion | 5.5% | 6.0% |
Both device segments' conversion rates fell, yet the overall rate rose, because desktop's share of traffic rose from 10% to 40% of the total, and desktop converts at roughly double mobile's rate in both weeks, so more of the total traffic shifted toward the higher-converting segment.
Standardizing Week B's segment rates to Week A's traffic mix (10% desktop, 90% mobile) shows the real story:
0.10×9%+0.90×4%=0.9%+3.6%=4.5%Using Week A's own mix, Week B's actual within-segment rates would have produced an overall rate of 4.5%, a real decline from Week A's 5.5%, which is the opposite of the unadjusted 6.0% figure and the story the raw aggregate was hiding.
Trade-offs and pitfalls
Standardization requires choosing a reference mix, and different reference periods can give different magnitudes for the adjusted rate, though the direction of the effect is usually robust to that choice. Stratifying by many segments at once fragments sample size and can leave individual strata too small to draw a reliable conclusion from. The paradox is a mix-shift explanation, but a real per-segment mechanism change can coexist with it, so a mix shift should prompt an investigation, not be assumed to be the whole story on its own. Showing only the standardized number, without the raw aggregate, can mislead in the other direction; the safest practice is to show both side by side.
Implement Type 2 slowly changing dimension logic: for each business key in a staging table, keep every historical version by effective_date but mark exactly one row per key as current_flag = true. Use a window function to determine which row is current and write the upsert into the dimension table.
Sample Answer
Direct answer: For each business key in the staging table, rank its rows by effective_date descending with ROW_NUMBER() OVER (PARTITION BY custom_key ORDER BY effective_date DESC); the row that lands at rank 1 is the current version. A type 2 slowly changing dimension (a dimension table that keeps every historical version of a record instead of overwriting it, marking exactly one row per key as the current one) needs that current-row determination made once per load and then reconciled against what the dimension table already has: newly-current rows get inserted or flagged, and whatever row was previously flagged current for that key gets its flag cleared if a newer version has arrived.
Structured elaboration
- Rank staging rows per business key.
ROW_NUMBER()partitioned bycustom_key, ordered byeffective_date DESC, gives each row its recency rank within that key; rank 1 is the newest version as of this load. - Derive
current_flagdirectly from the rank, rather than as a separate computed step:rn = 1IS the definition of current. - Reconcile against the existing dimension table. The newly-current row for a key needs
current_flag = TRUEinserted (a genuinely new version) or updated (if it already exists but wasn't flagged current before); any row in the dimension table that WAS flagged current for that key but is no longer the top rank needscurrent_flag = FALSE.
-- staging(custom_key, attr, effective_date)
SELECT custom_key, attr, effective_date,
ROW_NUMBER() OVER (PARTITION BY custom_key ORDER BY effective_date DESC) = 1 AS current_flag
FROM dim_staging;
Worked example (executed in DuckDB). Key 1 has two staging rows (gold effective 2025-01-01, platinum effective 2025-03-01); key 2 has one row (silver effective 2025-02-01).
custom_key | attr | effective_date | current_flag
1 | gold | 2025-01-01 | false
1 | platinum | 2025-03-01 | true
2 | silver | 2025-02-01 | true
Key 1's later row (platinum) is correctly the only one flagged current; the earlier gold row is retained (type 2 keeps history) but demoted. Key 2, with only one row, is trivially current.
Writing the upsert. The insert/update side depends on the engine. Where MERGE is available (SQL Server, Oracle, Snowflake, Postgres 15+), one statement can both insert genuinely new rows and update current_flag on rows that already exist:
MERGE INTO dim_table AS tgt
USING (
SELECT custom_key, attr, effective_date,
ROW_NUMBER() OVER (PARTITION BY custom_key ORDER BY effective_date DESC) = 1 AS current_flag
FROM dim_staging
) AS src
ON tgt.custom_key = src.custom_key AND tgt.effective_date = src.effective_date
WHEN MATCHED THEN
UPDATE SET current_flag = src.current_flag
WHEN NOT MATCHED THEN
INSERT (custom_key, attr, effective_date, current_flag)
VALUES (src.custom_key, src.attr, src.effective_date, src.current_flag);
-- Demote any row for a key that just received a new current version
UPDATE dim_table
SET current_flag = FALSE
WHERE current_flag = TRUE
AND custom_key IN (SELECT custom_key FROM dim_staging)
AND effective_date < (
SELECT MAX(effective_date) FROM dim_staging s WHERE s.custom_key = dim_table.custom_key
);
On engines without MERGE (or where the team prefers explicit control), the same outcome is two statements: an INSERT ... WHERE NOT EXISTS for genuinely new (key, effective_date) combinations, followed by an explicit UPDATE that sets current_flag = FALSE on every previously-current row whose key now has a newer version, and TRUE on the new one.
Trade-offs & pitfalls
- Late-arriving data (a row with an
effective_dateearlier than the current dimension row, but arriving after the load that made that row current) needs its own handling: naively re-running the rank-and-flag logic against the union of staging and existing dimension rows, not staging alone, is what correctly re-derives which row is current after a backdated insert. - A tie on
effective_datefor the same key needs a secondaryORDER BYkey (a load sequence number or ingestion timestamp), or which of two same-day versions ends up flagged current is the identical nondeterminism problem covered under dedup tie-breaking elsewhere in this topic. RANK()instead ofROW_NUMBER()would let two rows share rank 1 on an exact effective-date tie, which almost never matches the type 2 requirement of exactly one current row per key; useROW_NUMBER()specifically, notRANK(), for this pattern.- Don't forget an
effective_end_date(or equivalent) column alongsidecurrent_flag: setting the previous row's end date to the new row's effective date at demotion time is what makes point-in-time historical queries ('what did this record look like on date X') possible, not just 'what is it now.'
Search Results
15 Data Analyst Interview Questions and Answers - Coursera
1. Tell me about yourself. What sparked your interest in the field? What data analyst skills do you. What excites you about data analysis? What ...
Microsoft Data Analyst Interview Questions & Process (2025 Guide)
Ace your Microsoft data analyst interview with this 2025 guide covering the interview process, sample SQL questions, BI concepts, ...
Top 5 Microsoft Data Analyst STAR Method Interview Questions
1. Tell me about a time when you had to analyze a large dataset to identify trends and provide actionable insights. Describe a situation where ...
Microsoft Data Analyst Interview in 2025 (Leaked Questions)
Describe a challenging data project you worked on.. Prepare a concise summary of your experience, focusing on key accomplishments and business ...
65+ Data Analyst Interview Questions and Answers for 2026
What to expect in statistics, SQL, Excel, and Python rounds. How to showcase your strengths and problem-solving skills. Use these questions to ...
Microsoft Data Analyst Interview Guide | Sample Questions (2025)
Describe a challenging project you worked on. · How do you prioritize tasks when managing multiple projects simultaneously? · Share an experience when you failed ...
Microsoft Data Science Interview Guide [26 questions from 2025]
Describe a challenging project you worked on. · Tell me about a time when you had to work with a difficult team member. · Can you provide an ...
Entry Level Data Entry Analyst Interview Questions - Resume Worded
The ultimate Entry Level Data Entry Analyst interview guide, curated by real hiring managers: question bank, recruiter insights, and sample answers.
This interview preparation guide was generated using AI-powered research from the sources listed above. While we strive for accuracy, we recommend verifying critical information from official company sources.
Want to create your own tailored preparation guide using our deep research?
Get Started for FreeInterview-Ready Courses
Visual-first, interactive, structured learning paths