Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ hide_table_of_contents: false

2) Hoisting in JavaScript?
- **Declarations** are moved to the top; **var** hoists with undefined, **let/const** hoist but stay in **TDZ**.
- If asked: `var` is usable before line but is `undefined`. `let/const` throw if used before declared.
- If asked: `var` is usable before line but is `undefined`. `let/const` throw error if used before declared.

3) How does “this” work?
- **this** depends on **call site(调用点)**: default, **method**, **call/apply/bind**, **new**, or **arrow** (lexical).
Expand Down Expand Up @@ -46,7 +46,7 @@ hide_table_of_contents: false

10) Arrow function differences?
- **Arrow** has **lexical this**, no **arguments**, not **constructible**.
- If asked: Don’t use arrow as constructors or methods needing their own `this`.
- If asked: Don’t use narrow as constructors or methods needing their own `this`.

11) Shallow vs deep copy?
- **Shallow** copies top level; **Deep** copies nested data (**references** matter).
Expand Down
159 changes: 159 additions & 0 deletions blog/2025-08-15-oral-english-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
---
title: Short Oral English Articles (B1→C1)
description: 50 short oral English articles for practice, moving from B1 to C1; topics include daily life and software development.
tags: [english, practice, software]
hide_table_of_contents: false
---

These 50 short articles are for speaking practice. They start at B1 and grow to C1. Read aloud, shadow the rhythm, and retell in your own words.

1. Morning Routine (B1)
I wake up at 7 a.m. I drink a glass of water and make my bed(整理床铺). Then I wash my face and brush my teeth. After that, I eat a simple breakfast and check the weather. I feel ready to start my day.

2. At the Supermarket (B1)
I push a cart and follow my list. I pick fresh fruit, bread, and milk. I compare prices and choose a fair option. At the checkout, I greet the cashier(向收银员问好) and pay by card(刷卡支付). I keep the receipt(收据) in my wallet.

3. Taking the Bus (B1)
I wait at the stop with other people. When the bus arrives, I tap my card and find a seat. I look out the window and relax. If it is crowded, I stand and hold the rail(抓住栏杆). I press the button before my stop.

4. Calling a Friend (B1)
<!-- truncate -->
I call my friend after work. We talk about our day. I listen carefully and ask simple questions. We plan to meet this weekend. I feel happy after the call.

5. Ordering Lunch (B1)
I read the menu and choose a dish. I say, “I’d like the chicken salad, please.” I ask for no onions(洋葱). I pay and wait for my number. The food smells good and tastes fresh.

6. Weekend Plans (B1)
On Saturday, I clean my room and do laundry(洗衣). I cook noodles and watch a movie. On Sunday, I visit a park. I take photos of trees and clouds. I end the day with a short walk.

7. At the Doctor (B1)
I have a small cough, so I visit the clinic. The doctor asks about my symptoms(症状). I answer clearly and honestly. She gives me medicine and advice. I thank her and drink more water.

8. A Rainy Day (B1)
Dark clouds cover the sky. I carry an umbrella and wear a jacket(夹克). The street is wet and shiny(闪亮). I walk slowly to avoid slipping. Rain makes the city quiet and calm.

9. Simple Exercise (B1)
I stretch(拉伸) my arms and legs. I take a short jog(慢跑) around the block. I breathe in through my nose and out through my mouth. I feel warm and stronger. A little exercise helps my mood.

10. Learning English (B1)
I practice every day. I read short texts and repeat new words. I listen to slow speech and shadow the sounds(跟随发声). I record myself and check my pronunciation. Step by step, I improve.

11. Clear Commit Messages (B1–B2)
When I commit code, I write a short, clear message. I start with a verb like “Add,” “Fix,” or “Update.” I explain why the change matters. My team can read it quickly and understand. Good messages save time later.

12. Pair Programming (B1–B2)
Two people share one task. One person types, and the other watches and thinks. We switch roles often. We talk about the problem and try simple steps first. Together, we make fewer mistakes.

13. Reading Documentation (B1–B2)
Docs answer many questions. I skim(略读) titles, then read the part I need. I copy a small example and test it. If it works, I change it to fit my case. I leave a note for future me.

14. Debugging a Bug (B2)
When something breaks, I slow down(放慢速度). I describe the problem in one sentence. Then I try to reproduce it in a small example. If I can’t reproduce it, I log more details. Clear steps make the fix faster.

15. Code Review (B2)
I read code with care and respect. I start with the goal, not the style. I ask questions before I suggest changes. I point to tests that could fail. We learn together and keep trust strong.

16. Using Version Control (B2)
I create a new branch for each task. Small commits tell a clean story. I rebase or merge with intention(细心). Before pushing, I run tests and lint. History stays readable and useful.

17. Naming Things (B2)
Good names explain purpose. I choose words the team already uses. I avoid clever jokes(笑话) and hidden meaning. Short names work when the context is clear. I rename when confusion appears.

18. Handling Errors (B2)
Errors will happen. I catch them early and return helpful messages. I avoid leaking secrets in logs. I show users what to try next. Clear errors reduce support requests.

19. REST APIs (B2)
An API is a contract. I use nouns for resources and verbs for actions. I return proper status codes and clear JSON. I include pagination when lists grow large. Stability matters more than novelty(稳定比创新更重要).

20. Writing Tests (B2)
Tests give me confidence to change code. I write a simple test before adding a feature. I check the happy path and one edge case. I name tests like short stories. Fast tests run on every commit.

21. Moving to a New City (B2)
Change is exciting and tiring. I find a small place near a bus line. I explore a new café each week and learn street names. I join a club to meet people with shared interests. Slowly, the city feels like home.

22. Cooking for Friends (B2)
I plan a simple menu and set the table early. I prep ingredients(成分) to reduce stress during cooking(提前准备食材,减轻烹饪过程中的负担). While the pot(锅) simmers(慢火炖汤时), I wash dishes to keep space clear. We eat, laugh, and clean up together. Hosting becomes a joy, not a test(做东变得令人愉悦,而非一场考验).

23. Time Management (B2)
I list tasks and choose the top three. I block time on my calendar and silence my phone. I take short breaks to protect energy. At the end of the day, I review what worked. I plan tomorrow in five minutes.

24. Handling Stress (B2)
Stress visits everyone. I notice tight shoulders and fast breath. I pause, inhale slowly(慢慢吸气), and name my feeling(说出我的感受). I take a short walk or drink water. Then I return with a calmer mind.

25. Learning from Mistakes (B2)
Mistakes teach when we listen. I write what happened, why it happened, and how to prevent it. I share the lesson with my team. We fix the system, not the blame. Next time, we do better.

26. Traveling Smart (B2)
I pack light(轻装上阵) and check the weather. I save tickets and maps on my phone. I learn a few local phrases. I keep a small emergency card with contacts. Preparation turns trouble into a small delay(准备工作将麻烦转化成小小的延误).

27. Public Speaking (B2)
I practice out loud and time myself(大声练习并计时). I open with a simple promise to the audience(以向观众简单致意作为开场). I use short sentences and clear slides. I pause for questions. My goal is not to impress(深刻,博人眼球) but to help.

28. Healthy Habits at Work (B2)
I stand up every hour and stretch. I drink water instead of a second coffee. I set a closing time for screens. I plan one fun thing after work. Small habits protect my long-term health.

29. Building a Daily Routine (B2)
A routine is a friendly script. I stack new habits onto old ones(将新习惯叠加在旧习惯上), like reading after brushing teeth. I keep track with a simple checklist. I expect misses and restart without drama(我预计会有失误并重新开始,但不会有太大波折). Consistency beats intensity(坚持大于强度).

30. Balancing Work and Family (B2)
I set clear work hours(设定清晰的工作时间) and defend(捍卫,坚持) them kindly. I plan shared meals(聚餐) and weekend time. I say no to low-value meetings. I leave some hours open for rest. Balance is built, not found.

31. Designing a Simple Service (B2+)
I start with the user journey and a single, valuable outcome. I choose a minimal data model and clear boundaries. I prefer boring, proven tools. I write a small spec before code. The first version solves one problem well.

32. Understanding Performance (B2+)
I measure before I optimize. I identify the slowest step, not the loudest complaint. I test changes with the same data and load. I record results and rollback if needed. Facts end arguments.

33. Working with Databases (B2+)
I design tables around real questions. I index columns we search often. I avoid premature joins and keep queries simple. I back up data and rehearse restores. Data is more valuable than code.

34. Using Caching (B2+)
Cache is a promise to remember. I cache only what is safe to repeat. I set clear expiration and handle misses gracefully. I warm the cache for critical pages. I monitor hit rate to prove value.

35. Logging and Monitoring (B2+)
Logs tell stories if we write them well. I include who, what, and why, not just errors. I keep logs structured for search. Dashboards show trends, alerts call for action. We fix alerts that cry wolf.

36. Continuous Integration (B2+)
CI runs tests on every change. It catches breakage before it ships. I keep the pipeline fast and fix failures first. I make the main branch always releasable. Speed comes from trust in the system.

37. Feature Flags (B2+)
Flags let us ship code safely. I hide risky parts behind a switch. I enable a small group first and watch metrics. If problems appear, I turn the flag off. Later, I remove old flags to keep code clean.

38. Refactoring Legacy Code (B2+)
I add characterization tests to freeze behavior. I move in small steps and keep changes local. I untangle names and split large functions. I stop when risk grows. Bit by bit, the code breathes again.

39. Writing Tech Specs (B2+)
I start with the problem and success metrics. I list constraints, options, and trade-offs. I choose a simple design and explain why. I define risks and a rollback plan. A good spec invites clear feedback.

40. Security Basics (B2+)
I protect inputs, outputs, and secrets. I validate data and escape output. I use least privilege for keys and roles. I patch dependencies on a schedule. Security is a habit, not a project.

41. Negotiating Requirements (C1)
Stakeholders often want many things at once. I clarify goals, separate must-haves from nice-to-haves, and surface hidden constraints. I restate agreements in writing to prevent drift. When timelines tighten, I propose phased delivery. Alignment beats assumption.

42. Trade-offs in Architecture (C1)
Every choice has a cost. I compare solutions using the same criteria: latency, cost, failure modes, and team skill. I prefer reversible decisions under uncertainty. I document what we will not do and why. Clear trade-offs reduce future regret.

43. Handling Incidents (C1)
In an outage, calm is contagious. I name an incident lead, set a channel, and keep a timeline. We communicate early and often, even when facts are few. We fix the issue, then the cause, then the process. Blameless reviews make systems stronger.

44. Async Communication (C1)
Async work needs written clarity. I write messages with context, a decision, and next steps. I set response expectations and default deadlines. I avoid needless meetings by sharing summaries. Good writing scales collaboration.

45. Owning a Service (C1)
Ownership means care before and after release. I define SLOs, budgets for error, and escalation paths. I automate routine tasks and retire unused features. I mentor others to share knowledge. A service is healthy when the team sleeps well.

46. Scaling a System (C1)
We scale by removing the bottleneck we can prove. We simplify hot paths, add caches where safe, and split workloads when data demands it. We test with traffic that looks like reality. We watch cost curves as closely as latency. Scale is earned, not declared.

47. Privacy and Ethics (C1)
Data belongs to people, not to our product. I collect the minimum required and explain why. I give users control over their information. I design for consent and for deletion. The right thing is a feature too.

48. Leading a Team (C1)
Leadership is service. I set a clear vision and remove blockers. I give specific praise in public and direct feedback in private. I protect focus with strong priorities. I measure success by shared growth.

49. Learning Deeply (C1)
Deep learning takes cycles of play and reflection. I read, experiment, and teach what I learn. I build small projects to test ideas in the real world. I accept confusion as a stage, not a verdict. Over time, curiosity compounds.

50. Sustainable Habits (C1)
Ambition works with rest, not against it. I set limits that I actually respect. I choose repeatable routines over heroic sprints. I track progress weekly and adjust gently. The goal is to keep going.