CVStory

Resume Story

得分点

1. Scope

  • Project 规模和影响力

    • Scope 较大的项目通常具有显著的影响力,可能涉及多个团队和产品的改进。
    • 项目对产品或组织的整体影响,比如对其他团队或产品的正向影响。
  • 合作与沟通

    • 是否涉及跨团队的合作,如与其他团队(例如财务团队、法务团队、跨职能团队)的沟通协作。
    • 项目中是否有与其他团队工程师或跨部门的协作,是否牵涉到影响他人的工作。
  • 领导力与责任

    • 你在项目中的角色和责任,不仅限于代码开发,还可能包括沟通和谈判。
    • 是否主导了项目的设计,特别是作为工程师参与项目设计、沟通并进行关键的技术决策。
    • Lead Without Authority:当你没有正式管理权限时,是否能影响其他团队的成员,以推动项目的成功。
      • 你如何在没有正式管理权的情况下带领和影响他人,把项目当作他们的优先事项,在多线程环境下平衡不同项目的需求。

2. Ambiguity

  • 应对不确定性

    • 与学校项目不同,实际工作中的数据和需求往往不确定,需要进行数据清洗和建立数据管道。
    • 面对数据和流程上的不确定性,是否能主动寻找解决方案、与其他团队沟通、研究并推进项目。
  • 项目创新

    • 如果是一个前所未有的项目,比如团队中的首个尝试,你是否是第一个发起并带领的。
    • 无人涉足的领域里,你是否独立领导并解决了项目中的不确定性,最终推动项目在组织内的落地和执行。

如何讲解项目

1. Scope 足够大

  • 团队规模与影响力
    • 描述项目中涉及的团队成员数量,是多达10-20人还是仅限于几个核心成员。
    • 项目影响了哪些人或团队,尽量量化影响范围,清晰展示该项目对其他部门的作用和协作情况。
  • 项目的公司收益
    • 强调项目如何直接或间接为公司创造收益或节省成本。
    • 尽量将项目与公司的 revenue(收入)成本节约 联系起来,说明项目的重要性和价值。

2. 选择与岗位相关的项目

  • 尽量选择与当前职位职责相关的项目进行讲解,展示你的工作经验与岗位需求的契合度。

3. 展示挑战与问题解决过程

  • 避免简单的流水账式描述,突出项目中的挑战(difficult/challenge)以及你如何解决这些问题。

  • 挑战可以分为两类:

    3.1 技术挑战(Technical Challenges)
    • 描述项目的技术细节,确保听众理解你的技术决策和项目细节。

      • 输入和输出:清晰说明项目的数据输入输出。

      • 数据量:数据的规模和你如何确保系统的性能(performance)。

      • 成功指标:描述项目的 success metrics,衡量项目成功的标准。

      • 模型选择:解释为何选择该模型。

      • 数据处理:描述数据处理中遇到的平衡问题(如数据不平衡)及你的解决方法。

        oversampling: collect more data related wtih small size represensitive samples

        class weight adjustment: 给 small sample assign more weight

    3.2 非技术挑战(Non-Technical Challenges)
    • 展现你的沟通能力、领导力和对项目的责任感:

      • 沟通与合作:说明你如何与其他团队合作、协调资源、影响他人。

      • Ownership(责任感)

        :展示你在项目中的 Ownership,不只是完成自己的任务,而是推动项目整体成功。

        • 例如,与PM讨论需求时是否有 push back,提出你的见解,而不是仅仅被动完成任务。
        • 展示你对相关部分的关注,即使不在你的直接职责范围内,你仍然了解项目的整体情况,确保项目的顺利推进。
      • 端到端责任(End-to-End Ownership)

        :项目结束后是否仍继续跟进,确保项目稳定运行。

        • 举例说明,你完成了一个模型开发后,会不定期检查其表现(performance),与负责该项目的团队开会,确保其对公司长期有益。展示你对项目质量的持续关注,即便你有其他项目在同时进行。

Raw Story

电池

proudest project / complex project / leadership store/ lead team

Content:

I want to talk about the battery life prediction project.

I did it when I was working in BIN

I led two data engineer to build a system, which can curately predict battery life of new energy vehicles.

My main task was to manage the technical implementation of the business logic

Action/ 3 steps intotal:

I divide the whole project into three main stages:

  1. did the initial research
  2. breakdown task and assign them
  3. set regualr check meeting

let’s come back to the first step —> do the deep research

I first guided my team mater through an in-depth research

collection the matericals related to the batteries and analysis the Mathematical theories beind it

and later, study various time serious prediction models, compare them and assess their fesibility.

just to make sure that we could select the most approch way for our project.

and next

I broke the project into 3 key parts:

data cleaning

data pipeline construction

and modeling

and then assign the task based on team members

last

I set a regular meeting: one per week

  1. it can help us sychronize infromation
  2. track the progres of the task
  3. make a adjust timely to handle unpreditable emergencies

Finanlly,

I led the team to successfully complete this project.

It helps our company get 5 miliion funding from external.

Our work contributed a petent in this filed.

and my manager was recognized by the leadership as one of the outstanding employees.

细节地方

  1. 模型选择

    1.1 Accuracy

    选择不同的mode 进行test, 对比长期和短期预测的效果。

    1.2 scalability

    data 数据量大,考虑Horizontal scaling

    1.3 interpretability

    因为model会对实际业务产生影响,因此选择 model with strong explanation

  2. 管道搭建

    2.1 raw data来自于Sensor, it exist many nosie and missing value

    Set the automatic script

    2.2 data source problem —> set a model to automatic align the data

    2.3 feature selection

    focus on the battery charing part to explore battery decay rate

    2.4 data streaming

    use kafka implement the real time data flow

  3. System performance optimization

    3.1 optimize the super paramter of model to shrink the training time

    3.2 use batch provess to handle predict tasks

Black cow --> front-end function optimization

Take the initiative beyond the scope of my work

在black cow company公司工作的时候,我主要负责网站的Basic functality development。—>(问卷功能开发)

during the development process, 我注意到一个问题in our website.

问题:the homepage loading speed becoming slowly ----> affect our user’s experiences.

主动:although the performance optimization not within the scope of me

I still take the initiative to take on this task —> cz 这个问题对于 用户体验 和 product development 非常重要

首先 identify problem

  1. code review —> do not find any siginficant problem

  2. check the logs

  3. use Browser performance analysis tool (such as the Chrome Devtools)

    to check the network request and component loading time ----> 发现文件上传和功能加载是导致加载速度变慢的主要原因

根据分析结果,我采用了以下优化策略:

Optimization of front-end upload function:通过 code splitting 和 lazy loading 技术对组件进行优化,

Delay loading of unnecessary content until the user actually needs it.

This avoids loading all content on the homepage, thereby significantly reducing the initial loading time.

Quantify Results:

Home page loading speed 提高了 40%, bounce rate减少了 30%,用户的session time 时长增加了 15%

all of these indicator shows that the user’s experience has been siginficant improved.

follow up 40%是怎么得出来的

使用 performance minitor tool to get the loading time, 对比优化前后的home page loading time.

Loading time before optimization - Loading time after optimization / loading time

how to get the 30% bounce rate

still use PMT (Google anaytics) the get bounce rate before and after optimization

the average data before OPT and the after

50—>35 —> 50-35/50 = 30%

session time : 用户在网站上花费的时间

black Cow 和 UI/UX cross-func team work

persuade others

work with cross func team

deep dive

During the Wealth Management System development,

I worked with cross-func team together to develop a data visutalization feature

to present the personalized wealth advice to our users.

Content/At the begaining,

the UI/UX design proposed using a 2D chart in the front to display our users’s data.

但是在开发的过程中,I realized that a 3D visualizeion would offer a richer experience.

additionally, I think about adding an interactive feature to display more information.

when the user hovered over specific modules, it will automatic show more detailed information.

this would increase the data clarity and user engagement.

Obstruct/Conflicts

I shared this idea with the UI/UX Design and my manager. expalining how the 3D approach could enhance the user experience and make data presentation more intuitive.

However, my manager expressed the concernts about the potential delays and increased complexity

if we switched to the new approach.

Action/Research and Eestimination

  1. market research and simple demo

to address these concerns, I condcuted a UX study to understand the market trend and user feedback around 3D data visualization.

base on My findings, I created two single demos with fixed data:

one with the original 2D design

and another showcasing the 3D effects with hover interations.

This comparison allowed the team to see the clear diff in visual appeal (视觉效果) and interactivity between the two options.

  1. dev plan and cost analysis

along with the demo, I prepared with a detailed development plan and cost analysis

Show that 3D implementation could be done within our timeline.

I emphasized that we could adopt the 3D soltuon withour compromising the project DDL,

mitigating the teams’ concerns about the schedule impact.

  1. Convincing the team

In a meeting with my manager and team, I presented the 2D and 3D demos,

along with the time and resource evaluations.

The clear visual and experiential advantages of the 3D approach helped persuade my manager and team to adopt the new solution.

Result/Finally:

I completed this 3D visualization feature with in the original timeline.

and the results exceeded the expectations.

and one-week after that, user feedback showed 20% increased in satisfaction the data visualization.

There gonna be a matrix in our System

To estimate the user satisfaction

like the click freq, the session time, and the bounce rate

we combine all these indicator to calcuate the user satisfaction rate.

Mistakes/ Wrong Decision

Sky Blue — Ecommerical Website Development

mistakes

我主要负责电商网站开发, 主要task 是 处理promotion in Black Friday

problem: traffic increase siginficantly caused the redis cache break down

Content:

During my time as a developer for an e-commerce platform, our team was responsible for building a promotional system to handle the high traffic on Black Friday day.

The goal was to ensure that the system could handle a surge in concurrent users, allowing them to participate in promotions smoothly.

we decided to use Redis to manage the high traffic.

However, we underestimated the traffic volume

the Redis cache broke down during the peek time,

which slowed down the system and impacted the user experience.

Actions:

Emergency response

After realizing this problem, I took immediate responsibility for the issue

quickly organized a meeting with the team to brainstorm solutions.

I implemented temporary measures,

Like traffic limiting and cache refreshing

to stabilize the system and restore its functionality ASAP.

Long term response

After addressing the immediate problems,

I took the initiative to propose that we should re-evaluate our Redis configuration and improve our caching strategy.

There gonna be two things here:

  1. prioritized caching for popular items

    对于host product,extend the expiration time

  2. introduced a cache warming mechanism

pre-load frequently accessed data before the event

Finally,I also documented all lessons from this scenerios.

to prevent similar issues happens in the future.

Result:

After these improvements, the system performed significantly better in subsequent events, reducing response times by 30% and lowering database load by 40%.

Learn:

From this experience, I learned that system design requires a proactive approach,

anticipating and planning for high-demand scenarios instead of relying solely on standard configurations.

and I alos realized the importance of refining configurations based on specific business needs.

and also for the same promtion day in next year, we never make the happens.

follow up

这个30和40是怎么得出来

我们使用了monitroing tools like AWS cloud watch

它会record System response time and DB load.

these indicator can be sued as the comparasion.

website load time is 5s , after optimiaztion is 3.5 —> reduce 30%

DDL in Recommendation System/deliver results

Context:

During my time at Sky Blue Company,

I was leading a product recommendation system.

However, during the development process, we were informed that due to a change in requirements,

our project DDL had been moved up, leaving us with only three weeks.

The main challenge was that the complexity of the recommendation algorithm exceeded our initial expectations, which had already led to delays.

如果我们不能及时的完成这个funcatility, 可能会导致我们失去这个客户,并且损失500 million dolloars.

Task: As the project leader, my primary goal was to ensure the team delivered a functioning recommendation system before the new deadline.

Given our limited timeline, I needed to re-evaluate our strategy and guide the team in refocusing on our core objectives to meet user needs.

Actions:

To address this challenge, I took four l key steps in total:

  1. Organized an Urgent Meeting immeditately:

    I called a team meeting to assess our current status and identify the primary problem.

    emphasized the importance of meeting our new deadline to deliver a functional recommendation system, focusing on core features that users would rely on.

    This user-centered approach helped align the team and motivated them to prioritize the project.

  2. Re-prioritized Tasks:

    I divided our project tasks into “core” and “additional” features.

    I communicated to the team that our primary goal was to ensure the core recommendation functionality was fully operational, while additional features could be added later if time allowed.

    By focusing our efforts on the essentials, we could maximize the user value within the new timeline.

  3. Sought Additional Resources:

    Recognizing the complexity of our algorithm, I reached out to a senior manager with experience in recommendation algorithms for guidance on optimization strategies.

    This support helped us find more efficient approaches and address technical challenges more effectively.

  4. Set Regualr Progress Monitoring:

    4.1 To ensure we stayed on track, I set up check-ins every 3 days with the team

    to monitor progress and address any challenges.

    4.2 and also I encouraged open communication, creating a supportive environment where team members felt comfortable sharing any blockers they encountered.

    and I tell them whenever they meet the problem, they can call me instantly. I will provide the guide

    if I didn’t know it, I will work together with them and find the solution.

    This approach helped us stay aligned, provided timely support, and allowed us to make necessary adjustments to keep the project moving forward.

Result:

By taking these steps, we were able to complete the core functionality of the recommendation system before the new DDL.

The project delivered a working product that met users’ needs.

another thing is that

After that, I continued to take responsibility for the project by completing the additional features we had initially deprioritized.

Over the following weeks, I worked with the team

to develop and integrate these supplementary functions,

ensuring the system offered a more comprehensive recommendation experience for users.

we saw a 15% increase in the user session time and 10% increase in overall revenue from recommended products.

follow up:

15%和10%是怎么得出来的

15 --> web analysis tools, like google analutics to check the session time and click rate

before optimization and after optimization

10% --> come from the business anaylsis department to compare the sales.

learn:

Reflection: This experience taught me the importance of

strategic prioritization and resource optimization under time constraints.

the value of end-to-end ownership to ensure that

a project not only meets its initial requirements but also continues to drive business impact and user satisfaction.

Conflicts / Think Big/Insist highest standard/Earn trust/negetive feedback

In an e-commerce website project that I am responsible for, it is mainly

based on shopping cart and checkout funcations to add new featue (Batching operation 和 automatically add disscount)

the final purpose is 以优化用户的购物体验。

我和另一位同事被指派负责改进。

审查代码后,我发现应用程序的代码库中存在大量冗余,导致整体响应效率低下。

我们的任务是按新需求进行优化,但在如何实现上,我和同事产生了分歧。

我们的任务是按照新的需求对该功能进行改进。

我主张为了确保高质量和可扩展性,应该先重构并精简代码,然后再添加新的特性。

我的同事didn’t agree with my idead

he prefer to slove it by add servers resources, so the tasks can complete quickly.

为了解决这个问题,我和我们同约了个1 to 1 meeting

在meeting中,我首先倾听了我同事的想法和他为什么要这做。

直接增加服务器资源可以更快地完成任务,也不会因为修改旧代码而引发新的问题,保证任务可以及时的完成。

and then

我提出我了我的看法,和为什么这么做。这个模块很可能是未来的团队核心业务。

因为在将来我们还会考虑增加 其它更多的功能在购物车这个基础模式上面。比如 recommnedation in shoping cart, inventroy checking, installment payment(分期付款) so for so forth.

同时我强调优化这个功能也会给我们公司里的很多组带来正面影响。

To do this,我准备了一份doc,包含了我们如何重构改功能和步骤和时间规划。

make the optimiaztion process into 3 main phases, optimize the funcation gradually to avoid the risk of one-time changes.

最终,我们make a comprise,

In the short term,we add the servers firstly。

然后Reconstruct this function to Eliminate redundancy and update tech stacks.

manager also raised the priority of this tasks,安排了另外两位Team members协助我们,并给予了更多的时间。

Supported by additional resources and time, 我们成功地重构了代码结构,

I also并重新编写了文档。最终,不仅满足了新的需求,还为未来的扩展性奠定了坚实的基础。

Results:

After the restruction, the system performance has been improved : resonse time has be reduce 30%.

The front-end team gave us feedback. Due to the shortened back-end response time —> The user experience has also been improved, like the bounce reate oncheck page has decrease by 20%.

Learn: 通过这次exerience, l learned a lot

when we meet different opinions,

Listen and understand others opinions can help us earn trust and make the decision more steadble.

In addition, I learn how to persuade my team mates while insistand a high standard.

Incompleted Data/unclear purpose/decision without sufficent information

when I was in Sky Blue Company,

I was responsible for帮助 客户improve their existing shppping website.

However, At the begainning, the dsecription is very brief and vague

only mentionting “optimize the user experience”

but didn’t specify which areas we should focus on

like whether we should focus on System Performance or adding new functionalities.

As the project leader, I need to clarify the client’s core needs, prioritize areas for improvement, and deliver a solution.

Action: In order to solve this challenge, I took 3 main steps:

  1. did market research

    查阅了公司之前的用户反馈报告, 并且 重新向用户发送的问题调查,询问他们在使用网站时遇到的常见问题或不满点 。这样我就可以确定在哪些方面优化用户体验

    I reviewed the company’s previous user feedback and

    did a user survey questionnaire to asking users about their pain points and dissatisfaction when using the website. (like the layout and the check process)

    Thefore I can identify the directions to optimize.

  2. team meeting

    基于收集到的反馈,召集员工开会,包含senior SDE和product manger和UI/UX design team 进行brain storm 讨论可能优化的方向。制定一些初步方案,然后将方案提交客户来让其选择,并基于客户的反馈进行优化。

    based on the collection feedback, I hold a meeting with my teammates, including senior SDE, product manager and UI/UX design team to brainstorms.and we make several possible preliminary soluions.

    After that, I submmit the plans to our clients and let them make the decision.

    and based on their needs to make further optimization.

  3. Step-by-step implementation

    set regular meeting with clients 了解客户需求和feedback,以便及时调整方向 in each stage.

    and then

    basd the on collection infor, we optimize the key modules by stages and finish the whole project.

Results:

Finally, we delivered a project exceeded client expectations. As a result, the client established a long-term relationship with our company.

the traffic of the website has been increased by 25% after 3 months.

Customers decided hand more than 3 new projects to our company,

which may brings about a 2 million revenue increase in our company.

Learn:

在需求不清楚的情况下,proactive communication 和 continuous feedback is the key to solve problem.

带领新人 / trust

customer obesssion

why Company

Took Risk

Innovation / improvements

What improvements have you made at your current company?

Tell me a time when you solved a problem in an innovative way.

Tell me about a time when you invented something.

What is the most innovative project you’ve worked

What is your proudest/biggest innovation?

重新将bettery life prediction product

但是把 difficult 放在 如何处理 bettery raw data方向

强调自己如何 简化流程

比如先选择数据充足的data 搭建 data pipeline 进行小范围测试

得出结果之后,再扩展到 范围大的 data

北理工带新人

4.2 学校TA/IA 帮助学生 学习

OOD课程TA

challenge: 学生基础差异大, 有些人跟不上

Action:

  1. 设计分层教学方案
  2. 开设额外辅导时间
  3. 创办学习资源库

Result:

  1. 学生反馈积极
  2. 课程通过率上升

“去年我担任了数据结构课程的TA。注意到很多学生在平衡树这个主题上特别困难,有些甚至产生了放弃的想法。我决定采取行动:首先,我录制了详细的概念讲解视频;其次,我组织了小组讨论,让基础好的同学帮助其他同学;最后,我设立了每周两次的一对一辅导时间。经过这些努力,期末考试时平衡树相关题目的平均分提高了15分,多个学生专门来感谢我的帮助。这让我理解到,教学不仅是传授知识,更重要的是激发学习热情。”

4.3 Job track 项目

开发job track System

Challenge:

  1. 需求不明确,用户痛点多样
  2. 技术选型需要平和多个因素
  3. 时间紧,功能多

Core Action:

  1. 用户调研
  2. 技术选型
  3. 敏捷开发

"在毕业前的最后一个学期,我和另外三个同学开发了一个求职跟踪系统。这个想法源于我们自己在找工作时,发现管理申请进度特别混乱 - 有些同学用Excel,有些用笔记本,经常会错过重要的截止日期或面试。

最大的挑战是需求太分散。我主动担任了产品负责人,采取了三个关键行动:

第一,进行用户调研。我设计了一个调查问卷,收集了50多名求职同学的反馈。通过分析发现三个最关键的痛点:面试时间管理混乱、材料版本难以追踪、没有求职进度的整体视图。

第二,技术选型。考虑到大家都是在找工作的状态,随时可能要参加面试,我提议采用敏捷开发方法,将项目分成3个双周冲刺。我选择了React作为前端框架(因为团队都有一定经验),Node.js作为后端(因为开发速度快),MongoDB作为数据库(因为需求变化频繁,文档型数据库更灵活)。

第三,特性优先级排序。我们将功能分为三层:

  • P0: 申请跟踪看板、截止日期提醒
  • P1: 面试准备清单、文档版本管理
  • P2: 数据分析、求职经验分享

遇到的一个关键问题是,在第二个冲刺时发现文档管理功能的复杂度超出预期。我迅速调整了策略:

  1. 简化了文档管理的需求,改为支持URL链接而不是文件存储
  2. 将一个团队成员调整到帮助解决技术债务
  3. 适当延长了工作时间,确保质量不受影响

最终结果:

  • 按时完成了所有P0功能和80%的P1功能
  • 系统被20多名同学实际使用
  • 收到很多正面反馈,特别是关于面试时间管理功能
  • 一名用户表示这个工具帮助他没有错过任何重要的截止日期

这个项目教会了我几个重要的经验:

  1. 用户反馈的重要性 - 最初的假设往往需要调整
  2. MVP思维 - 先做核心功能,快速迭代
  3. 灵活调整的重要性 - 在面对技术挑战时及时调整策略

这个项目后来还获得了学校创新项目奖,主要是因为解决了一个真实的问题。现在回想,这个经历让我深入理解了如何将一个想法转化为实际产品,以及如何在压力下管理项目进度。"

这个故事有以下优势:

  1. 展示了主动性(发现问题并解决)
  2. 体现了技术决策能力
  3. 展示了项目管理技能
  4. 有具体的数据支持(50名用户调研、20名实际用户)
  5. 包含了问题解决的具体示例
  6. 有清晰的学习总结

这个故事可以用来回答多类BQ问题:

  • 讲一个你主导的项目
  • 如何解决技术难题
  • 如何进行团队协作
  • 如何处理项目延期风险
  • 如何确定产品优先级

4.4 学生选课系统

跨区域 合作开发 学生选课系统

Challenge: 团队成员分散在不同地区,沟通协作困难

  1. 并发压力大(选课高峰)
  2. 系统可靠性要求高
  3. 复杂的业务规则
  4. 性能优化需求

Action:

  1. 建立清晰的代码规范
  2. 实施agile 开发流程
  3. 定义会议同步

Result:

  1. 项目顺利完成
  2. 建立高效远程的协作模式
  1. 人际关系冲突

  2. 分布式项目

    去年我参与了一个跨校区的分布式文件存储系统项目,这是一个与其他两所学校合作的研究项目。我们的团队总共12人,分布在美国东西海岸和亚洲,横跨三个时区。我担任了技术负责人的角色。

    最大的挑战是:

    1. 团队成员分布在不同时区,实时沟通困难
    2. 各校技术栈不同(有人擅长Java,有人用Python)
    3. 代码版本控制和整合面临挑战
    4. 进度跟踪和质量保证较难

    首先是建立标准化的协作流程:

    1. 制定详细的API文档规范
    2. 建立微服务架构,允许不同团队用不同语言开发
    3. 实施统一的代码审查流程
    4. 使用GitHub Actions实现自动化测试和部署

    其次是技术架构设计:

    1. 采用Event-Driven架构解耦各个组件
    2. 实现统一的服务注册和发现机制
    3. 建立集中式的日志系统
    4. 设计了容错和恢复机制

    在项目过程中遇到的一个关键问题是:不同团队的代码风格差异很大,导致系统集成时出现了大量兼容性问题。我立即采取行动:

    1. 召开紧急会议讨论问题
    2. 建立统一的接口规范文档
    3. 开发了一套服务健康检查机制
    4. 实施了每日代码同步会议

    为了改善沟通效率:

    1. 建立了三个固定的每周会议时间,照顾到各个时区
    2. 使用Confluence维护所有技术文档
    3. 在Slack上建立了分主题的讨论渠道
    4. 实施异步更新机制,每天团队轮流交接工作

    遇到的另一个挑战是性能问题。由于系统分布在不同地理位置,出现了严重的延迟。我们通过以下方式解决:

    1. 实现了数据本地化缓存
    2. 优化了数据传输协议
    3. 添加了CDN加速
    4. 实现了智能路由机制

    最终结果:

    • 系统成功在三个校区部署运行
    • 平均响应时间控制在200ms以内
    • 代码提交到部署时间从4小时减少到30分钟
    • 项目获得了校际合作创新奖

    关键收获:

    1. 技术方面:
      • 深入理解了分布式系统设计原则
      • 学会了如何处理跨地域部署问题
      • 掌握了微服务架构实践
    2. 管理方面:
      • 学会了如何管理跨时区团队
      • 理解了清晰文档的重要性
      • 掌握了远程协作的最佳实践
  3. motivation

    why meta/amazon

  4. informal segement optimzation

    帮助联合国

    通过卫星图片 识别 难民定居点

  5. 区块链比赛项目,在两天时间内完成一个token的支付系统

    在48 hours 完成 黑客松比赛

    challenge:

    1. Time limited
    2. team member has limited experience on block chain
    3. need to implement the whole payment process
    4. SD need 安全性

    Action:

    1. quick learn and desicion making
    2. MVP(Minimum Viable Product) development strategy
    3. Team division and collaboration

    Specific Story

    I participated in a blockchain hacathon comptetition

    which required the development of a token payment system based on Ethereum within 48 hours

    our team cisitent of 4 people, all of them had unfamiliar with blockchain development.

    I served as the technical leader of the team.

    the biggest chanllenges:

    1. Time limited
    2. need quick mask solidity and web3 tech stacks
    3. consider the high security requrements of smart contracts
    4. need a completed front and back end

    I took the follow key measures:

    1. 明确 minimun viable product core functions

      1.1 代币铸造

      1.2 转账功能

      1.3 基础钱包管理

      1.4 历史查询

    2. team colleboration

      2.1 2人负责 smart contract development

      2.2 1人负责front-end development

      2.3 1人负责web3 integration

    技术栈:

    solidity

    react

    polygon test network

    Problem:

    Balance calculation error

    On the first night, we encountered a key problem: we found that the originally designed smart contract had a balance calculation error during the test.

    his is a serious problem, because in the financial system, a penny of mistakes is unacceptable. I immediately:

    1. 召集团队紧急会议

    2. 发现问题在于整数溢出

    3. 重构了代币合约

    为了确保交付 high quality product:

    1. Implement continuous testing

      Write automated test cases

      Real-time verification on the test network

    2. Simplify the user interface

      Focus on core functions

      Use Material-UI to quickly build the interface

    3. Ensure safety

      Use the contract library

      Implement basic security checks

    Result:

    在截止前完成所有核心功能

    通过了所有安全测试用例

    Learn:

    Technical:

    快速掌握了Solidity开发

    理解了智能合约安全原则

    Project:

    在极限时间下的范围控制

    理解了MVP策略的重要性

    掌握了快速决策的方法

    在时间压力下,如何在保证质量的同时快速迭代。我们采用了"先核心后优化"的策略,确保基础功能的可靠性,然后再逐步添加其他特性。

  6. 虚拟女友项目 通过使用chatGPT 模仿名人对话

  7. 手机安卓项目,开发一个歌词播放器,从spotify API获取歌曲,自动生成相应的歌词

    从而解决spotify存在的歌词播放问题

    开发Andriod歌词播放器

    chanllege

    spotify API 使用复杂

    歌词同步精准度要求高

    多个API的数据整合

    用户体验要求高

    Core Action

    API design 和 integration

    音频同步算法

    UI/UX optimization

    主要挑战包括:

    1. Spotify API的认证和调用复杂
    2. 需要从多个来源获取的歌词数据
    3. 歌词和音频同步要求毫秒级精度
    4. 需要处理不同语言的歌词格式

    我采取了以下关键措施:

    首先是技术方案设计:

    1. 使用Spotify Web API获取歌曲元数据
    2. 构建歌词数据库,整合多个歌词API源
    3. 实现本地缓存机制减少API调用
    4. 设计了自适应的歌词同步算法
  8. 产品销量预测项目 决定库存中每个产品的存储量

Informal Segementation Project

I want to talk about the informal settlement mapping project in World Food Programme.

This project is to help United Nation

use satellite images to identify informal settlements around the world.

informal settlements是指一些比较贫困的区域

People can’t afford to buy a house,and they live in slums

关注这些区域的可以让联合国更好的明确哪些区域需要真正的帮助。

给他们Provide food and water

Provide medicine and medical care

Help build better, safer housing

The main challenage is how could we handle the satelite image data.

because the data is large and complexed.

Satelite image data is very large and complex.

the image difference beteween different regions is relatively large

because of geographical and environmental factors.

These will affect the generalization ability and accuracy of the model.

作为项目的主要研究人员,我的任务是设计并实现一个高效的图像处理解决方案,使用 Sentinel-2 卫星数据,开发能够准确识别和映射非正规聚居区的图像识别算法。此外,还需要解决数据不平衡的问题,以提高模型在多样化图像上的表现。

As one of the main researchers of the project,

My main task is to design and implement an machine learning algorithm to identify the informal settlements through the satelite images.

针对这个项目,我主要采用divided and conque method 来解决。

我首先明确该项目的主要关键点: satelite image的preprocess 和 model 的chosing。

It can be divided into 2 parts. One is preprocessing satelite images data.

Another one is doing research and find a better way to construct the model to do the classification.

然后针对这两个主要problems. 我分别采用了不同的策略来应对。

Based on these two main problems, I have adopted different strategies to deal with it.

对于data preprocessing problem,数据存在inbalance的问题,我首先为什么数据会不平衡,然后针对

我阅读了相关论文,采用Weighted average and weighted binary cross-entropy to slove this problem.

对于模型的选择,我们要做的是 识别出 informal settlement, 这是属于图像分割领域。我阅读的相关领域的论文,从中选取几个比较常用的model整理其的优缺点。然后和同事讨论,最终确定我们的模型架构。

Black Cow React Project

Situation

My proud project is a Wealth Management System

which is providing financial advice to customers

I did it when I am working in Black Cow Company.

This WMS will provide a financia report including visulized data and advice.

According to the information provided by the users

and behaviours on our website.

The front end is React and back end(Business layer) is SpringBoot.

Task

我在完成这个项目过程中遇到的一个困难就是

One of the difficulties I encountered in completing this project was that

when I completed the functional design of project and redeploy our website on AWS.

Our website loading speed has slowed down a lot

which may affect user’s experience.

Action

Through step-by-step investigation, data analysis, in-depth research and communication with peers, I finally found the problems caused by third-party components and successfully solved it.

首先,我需要定位问题。

First of all, I need to locate the problem.

I check the logs and it doesn’t has any warning or sth important.

Next, I check the code and make sure that

There is no redundant and complex structureal parts in the code.

所以说问题不在这里

That means the problem is not here.

I noticed that the generated website JS file was very big up to 900 kilobytes.

the key is to optizied the generated file.

所以说问题是出现在被调用的第三方组件

the problem is mightly caused by a third-party component.

I check the third-party components that may cause problems.

go to official web and read the doc and also read the source code on github.

不需要的细节,可以忽视

Firstly, I went to the React website and tried to find a solution in the offical document.

Later, I read a lot of source code on github adn talk with my friends in the industry and tried many times.

Finally, I found that the problem was caused by a third-part component call “react-simplemde-editor”. it’s code quality isn’t good enough.

The author of this component used React as the production dependency

instead of the development dependency, which leads to the big generated JS files.

Two ways

There are two options to solve this problem.

One is reconstruct this third-part React Compoent by ourself.

Another way is using code spliting and lazy loading.

我针对这两种不同的方案制定一个doc来分析它们的好坏

I make a doc to compare these two different schemes

in the doc,

I lists all the pros and cons of these two possible solutions.

and Laterly, I hold a meeting with my co-workers to get their adivce.

他们会比我更擅长这方面的业务。

They’ll be better than I am in this area.

并结合我们目前业务场景做出了最优的选择

Finally I made the best choice based on our current business scenario.

The first one is complicated and time consuming.

It might take us extra 1 or 2 weeks to reconsctruct this third compoent.

And for the second one, It only need 2 or 3 days.

如果我们使用solution 2, 在百分之99的场景下,用户的体验都是非常完美的。

If we use solution 2, the user experience is perfect in 99 percent of the cases.

The bottleneck will only occurs when user’s network speed is slow.

Most PC users do not have this problem, since they use WFi.

The most affected user group is mobile users.

Because they use cellular network.

But for this funcation, the Bottleneck is a texteditor.

It’s only be used when users want to fill out a form and submmit it.

Normally, our users would not choose safari to fill out a form on their form.

and even if they do this, it only takes an additional 1 minutes after clicking the submit button.

Therefore, we choose the second method, code spliting and lazy loading.

Result

After this optimization, our website loading speed come back to normal. and I also learn a lot from this problem.

Like: how to target problems, do research on how to find mutiple solutions

and finally, choose the suitable solutions based on current customers’ needs.

针对特定的问题,采用特定的策略来解决,而不是忽视时间和人力成本的考虑,直接重构项目。

Adopt specific strategies to solve specific problems,

instead of ignoring costs and refactoring the project directly.

ML Project

passion project

Situation

During my time at beijing institution of technoloy.

I work on a project to develop a new machine learning model for predicting battery life of new energy vehicles in a large commerce platform.

I was incredibly passionate about this project

because it addressed a critical business problem and I was eager to apply my skill to make a positive impact.

Task

As one of the SDE on this project, my task was to design and implement a predictive model that could accurately identify battery life of new enery vehicles.

it can be divided into 3 parts. 1. Build data pipeline 2. model construction 3. intergrate the model into our platform and ensure that it could sacle to handle the massive amount of data involved.

面试经验收集

Tell me about a time that you resolved a conflict at work?

on rear architcure of the platform

需要两个team协调work

one project can be solved with different solutions based on different solutions

As the 项目的主要负责人 我需要making on which one to pick

一共有两个方案

teamA,就是我们team,倾向于方案1, 因为是open source,并且有 good performance

teamB,strongly disagree,prefer case2.

we need to reach consesus

组织meeting,并且vote the on the two different tools

unsurprisingly, 并没有达成共识(Reach consensus)

为了resolve the conflicts

and how you ended up giving up and then let them use the solution that they want?

people normally have different perspective

since they have different skills(technical stacks) and different knowledges

and this may causes them do not understand each other

therefore, we need communication and coordination 来reach consensus

当你耐心的听从别人的意见

同时 将自己的观点和看法 slowly and carefully explain to them

你会从中发现一些common denominations来resolve conflict between yous and them.

what’s your major learning from this and How would you do things differently?

organize the weekly sync

try to fill in the gap

and get a better understand of the work

  1. 抽象问题,从高维度去讲解问题,不要提及任何技术or细节

可以使用指代 比如 teamA and teamB 让逻辑更清晰

面试官在一开始并不关注细节,因为面试官需要的是你在讲故事过程中,所体现的思维方式

  1. 等待面试官第二轮会go deep细节,然后给出具体描述

  2. 展现认知能力

开会的时候,使用了什么技巧(与人沟通的技巧)

开会之前,明确teamB的主要负责人。在第二次开会前,跟负责人沟通,明确他们的concern是什么。

逐个击破stack holders

开会只是 类似通知全部人。

  1. 这个经历学到了什么

最大的take away是什么

后面take efforts来改变 哪些techincal problems and non-technical problems

主动展现

  1. 第一句话,要展现总结能力

I’ll tell you about a conflict that I did

  1. BQ面试要说自己为什么干,而不是重点说自己做了什么

能力不能只局限于自己做了什么,然后就发生了什么

而是说自己 为什么这么做 (L5 —> L6)

Eg:

我展现我做的规划的时候,如果是给teach leader看,就会更加侧重于技术细节,给更多的技术方面的知识。给manager看,他更关心组里人的成长,从组里员工成长的角度来说服他。

  1. POC(Proof of Concept)

为什么要做POC

认知—> 有时候,很多东西看起来很困难,但是实际去尝试的时候,并没有想象中的那么困难。

通过一个简单的快速的例子尝试,展现它在实际场景中的应用,来验证方案是否可行

从而说服他人。

收获的教训

即便是作为一个low level的 IC 也可以在

  1. scores

L6级别的 conflicts 主要是针对 组之间的

L3才会说和manager之间的 conflicts

简历work through

Question Formation

  1. Tell me about how your experiences, skills, and accomplishments make you the ideal candidates for our company?
  2. How you fit into this role?

Answer Template

  1. 重点是 和JD 相关的experience

    list career arc based on skills releveant to this postion instead of a chronological list.

    构建符合JD的故事,是否可以将经历联系起来,体现自己为什么申请该JD

  2. 精简你的经历,分析key points 不要deep

    distll experience, share key points, avoid doing deep

    key points 入下

    what do: what led you to that role?

    key learn: what have you learn

    influence: how it influenced your next step

  3. Link your arc to the JD role

    可以制定产品的库存

介绍interested/proud project?

1. 电池退役

2. 前端项目

3. Raft协议数据库项目

项目介绍

KV数据库 based on Raft protocol

it’s related to distributed System.

主要负责

我负责实现了一个key-value stored database数据库,该数据库基于Raft一致性算法

给出三个粗略点

  1. Log replication mechanism
  2. MapReduce to handle task
  3. Data synchronization of follower nodes
  4. Elections and Heartbeat mechanisms

遇到的困难

  1. 数据一致性

    在设计基于Raft协议的系统时,我面临的第一个困难是

    如何保持所有node的data保持数据的一致性

    what did I do为了解决这一个复杂问题,我采取了将问题分解为更小、可管理的部分的策略。

    1. 首先深入理解Raft协议的工作原理

      foucus on 它是如何处理日志复制和故障恢复的

    2. 将整个系统流程分解成几个关键部分,然后针对每一个部分进行进一步的细化,研究。

      日志条目的创建、复制、确认和应用

    此外,我还使用的反复迭代的方法

    我首先在本地环境搭建一个模拟分布式系统,使用虚拟机来进行模拟不同节点

    然后尝试各种不同的节点故障,如突然宕机、网络延迟、以及网络分区。

    每次引入新的故障,我都会仔细观察系统的响应和恢复机制。

    这些观察帮助我们发现了一些设计上的缺陷

    并且进行缺陷修复。

    例如在网络分区恢复后,日志复制的速度不够快,导致状态同步的延迟。

    在本地环境测试稳定之后,我尝试云端服务测试,这让我们能够在更接近生产环境的条件下运行系统,进一步验证了我们的设计和实现。

    通过这一连串的反复迭代和细致的测试,我们的系统逐渐变得更加稳定和健壮。每一次的迭代不仅验证了系统的设计,还增强了我的技术深度和问题解决能力。这个经历教会了我在面对复杂系统挑战时如何保持冷静,系统地分析问题,并创造性地找到解决方案。

4. 后端shopping项目

Why Company?

思路

因为我喜欢你们的产品 —> 研究背后的tech —> 发现经历和技术上的重合 —> 激发兴趣 —> 了解公司目前面临的挑战—> 希望去解决它创造更大的价值 —> 实现自身职业成长

模版

产品 —> tech ----> culture

产品: 公司产品和其它公司产品有什么不同

大小公司套话

large company

I think XX has a huge impact on the world. I have been using products from XX everyday. I want to influence the world, and that’s why I would love to work for XX.

XX is a huge company with a lot of options and opportunities. I love exploring different opportunities, so I think XX would be a great fit for me

start up

XX has this innovative culture, and I personally love innvotaion. I love using trendy and cutting-edge technologies, and I think XX would be a great fit for that

I love working for small companies since things move so fast here. I want to make an impact in my future company, and that’s why I think XX would be a great fit for me.

tech:该JD使用了什么tech,自己也喜欢,有哪些project使用了该tech

React

Full stack project

with background in react, I can Quickly adapt to the company’s work environment and delivery products.

culture:公司文化是什么,喜欢,why

laid back and causal —> more communicate opportunity with tech lead, learn more do more

Why Tiktok?

There are two main reasons why I want to join tiktok.

I like using tiktok and I know there many talented people working at tiktok and I want to work with them.

As for the first reason

I am very fascinated by tiktok’s product and I admire how it quick captures users’ psychology and needs and recommend what they want.

In my opinion, It is the first company to change the way humans access information.

在此之前,人们获取信息的方式,是通过 google,在search bar输入 他们感兴趣的东西,然后点击,从而获取他们想要的信息

after tiktok出现之后,what you only need to do is just open the application and it will recommended what you want.

你需要做的就是点击并购买,It even knows ourr needs better than us do.

And because I was so interested in TikTok’s products, I did some research on technology behind it. I knew that tiktok has very cutting-edge technical applications in recommendation system and content distribution. These technologies are highly compatible with my experience.

the seond reason is that

The benchmark for assessing a company’s excellence often lies in its ability to attract and retain talent. I’ve seen that many accomplished individuals from my professional network have joined TikTok. This shows its attractivenessas an employer and I value it very much. Who doesn’t want to work with the top team to create better products?

Take a Risk / Do not have much time/Make a Decsion

面对不确定性或潜在失败的情况下,做出可能带来较大回报的决定

uncertainty or potential failure cases —> make decisions that may bring greater returns.

In my previous project, while working on a movie recommendation system,

I encountered a significant performance issue just one week before the final day.

the user rating function doesn’t working properly

Specifically,

The recommended content is not updated in real time.

If we can not solove this problem, it will seriously affect the core functions and user experience of the system.

In order to solve it, I took the ownship iniatiately

I immediately call a meeting of the team members

and collect everyone opinions in the meetings.

I summarized everyone’s ideas and came up with two potential solutions:

  1. request a present delay

    Discuss with the professor to postpone the presentation, ensuring we had enough time to fix the problem.

  2. Rebuild the funcation

    Attempt to replace the third-party library and reconstruct the user rating functionality.

After carefully weighing the risks and benefits,

I decided to take the risk of implementing the second strategy

try to use the new third-party library.

Because its potential benefits far outweigh the risk of delaying the project

risk

time no enough

presentation time is tight, and replacing the third-party library requires time for integration, testing and debugging.

high uncertantity

It may bring unexpected compatibility problems or technical obstacles.

Learning curve

In a short period of time, I organized a team to divide the work and carried out the necessary reconstruction

and testing to ensure that the rating function could be completed on time.

Finally, Our final solution received high praise from both the professor and the audience.

They particularly appreciated our ability to solve the issue within such a short time frame, as well as the overall innovation and improvement in user experience that the project demonstrated.

How did you evaluate the solution and take the risk?

Evaluation

  1. Analyze the technical documents and compatibility of the new library

    快速阅读了新第三方库的文档,并查看它是否支持我们系统的当前架构和技术栈

  2. Quickly test the small-scale functions of the new library

    在独立的开发环境中使用新库重构一小部分用户评分功能,并进行基本功能测试

  3. Calculate time cost

    估算了完成重构所需的开发和测试时间

    假设我们有7天时间,团队评估完成新库的集成和测试至少需要5天,这留给我们2天的缓冲时间来应对潜在问题。

    如果在5天内无法完成,我们可能会错过项目演示。如果问题无法在剩下的2天内解决,则我们可能不得不向教授请求延期。

Tell me about a time when you had to work on a project with unclear responsibilities

最初各个团队成员的职责并不明确 —> 工作任务重叠 —> 项目进展也比较缓慢

缺乏清晰的角色划分,大家不确定自己的具体责任

任务 —> 确保项目按时推进 && 解决各个团队职责不明确的问题

目标 —> 梳理清楚各个团队的责任分配 && 建立有效的沟通机制

召集相关团队成员开会 —> 讨论项目的整体目标和各自的任务

Meeting:

  1. 分析了现有的工作进度 && 每个人的能力 —> 提出了一个详细的职责划分方案

  2. 为确保沟通顺畅 —> 建议建立定期的更新会议

大家在每周初确认任务和进度,确保所有人都在同一页面上。此外,我还主动担任了项目进度的协调角色,帮助团队解决跨部门的沟通问题。

Result:

通过明确的职责划分 && 定期的沟通会议 —> 项目进展顺利

团队的工作效率大幅提升,项目按时交付,

并且我们在过程中加强了团队协作,确保未来的跨部门项目可以更加顺利进行。

项目负责人对我的协调工作表示赞赏。

why recommendate this guy

This individuals has gained considerable experience in software engineering, focusing on Full-stack development.

At Black Cow Tech, he worked as a Full-stack SDE, enhancing user experiences through the integration of AWS Polly and S3, and improving system performance with Kafka and CI/CD practices. His efforts in this role reduced manual operations and optimized version update times.

At the Beijing Institute of Technology, Joey led data engineering projects. Here, he was responsible for data modeling, building data pipelines, and visualizing over a billion data points related to new vehicle batteries.

Prior to this, Joey was employed at Sky Blue, where Joey focused on E-Commerce Supply Chain products. His initiatives included adopting data analytics and machine learning to optimize advertisement placements and enhance e-commerce sales.

Joey holds a CS Degree in NEU, where he achieved GPA of 3.9. His technical proficiency spans multiple programming languages and frameworks, and he is skilled in the use of various databases and data processing tools. Joey also holds a pending patent for a method to predict power battery life based on capacity decay.

  1. 专业教育背景
    • 拥有东北大学计算机科学专业的背景,并取得了3.9/4.0的高GPA,显示了他在学术上的优秀和对计算机科学的深入理解。
  2. 全面的技术技能
    • 掌握多种编程语言,包括C/C++、Java、Python、Go和JavaScript/Typescript,以及HTML和CSS,表明他能够在多种技术环境下工作。
    • 精通React, Django, Flask, Spring MVC等框架,以及PostgreSQL, MySQL, MongoDB等数据库技术,显示他在软件开发各个方面的深厚能力。
    • 熟练使用TensorFlow, NumPy, Pandas等数据处理工具,以及Docker, AWS, Kubernetes等现代云计算和容器化技术。
  3. 实际工作经验和成就
    • 在Black Cow Tech和其他公司中,他成功地使用AWS Lambda和S3 Bucket优化了服务器响应速度,提升了30%。
    • 他在Beijing Institute of Technology主导了一个团队开发数据管道,处理超过10亿的车辆相关数据,并开发了预测电池寿命的机器学习专利,显示了他在大数据和AI领域的应用能力。
    • 在Sky Blue Technology,他使用Docker Compose和Kubernetes部署了协同过滤模型,实现了实时推荐系统,并通过推荐算法提升了电子商务销售额15%。
  4. 项目管理和团队领导能力
    • 在多个项目中担任领导角色,不仅技术能力出众,还能有效管理团队和项目进度,如在北京新能源信息技术公司领导的团队和项目表明。
  5. 创新和问题解决能力
    • 在多个项目中表现出优秀的问题解决能力,例如通过自动化部署和优化后端服务来显著减少运营成本和提升效率。

CV深挖

Engineered a React-based web tool for wealth management, implementing data visualization with D3.js and optimizing performance to handle complex datasets, ensuring system reliability and user satisfaction.

总结: 这里是 使用了 D3.js 实现了 data visualization

  1. How to opimizing performance to handle complex datasets?

    Two steps:

    1.1 identify the performance bottlenecks

    1.2 Reduce unnecessary rendering and optimize data processing

    1.2.1 we can use react.memo or useCallback method in the react to avoid unnecessay rendering

    1.2.2 when handling complex datasets, we can use data sharding to reduce the data processing time.

    such as Load data in batches or Virtualization Long Lists

    Virtualization Long List

    仅render Elements within the current viewable area,而不是Render all items in the entire list at once

  2. when use D3.js to do the data visualization, do you meet some problem, how do you handle it?

    Cross-browser compatibility

    The chart genetated by D3.js might shows different in different browers.

    for some old broswers, it does not suport certain function and shows different.

    I use modern browser tools do the compatibility test and make sure it works same in mainstream browsers.

    for the old browser, I will other componet to replace it. Like polyfills to provide simplified version.

  3. how do you ensure system reliability when facing complex datasets?

    3.1 data validation and cleaning

    Before introducing data into our system, I will write scrpit to filter error data, Missing value or abnormal value to make sure the data is clean and reliable.

    3.2 distributed processing and parallel computing

    Slice data and process it on multiple nodes at the same time

    we can process the data in many nodes at the same time to Improve efficiency

    when some nodes is broken, we can switch into back node to do the calculation

    3.3 monitor system

    add Monitoring and early warning system to track the key indicators

    like response time, error rate, data processing speed, etc.

    Once an abnormality occurs,

    the system will automatically send an alarm notification for quick response and processing.

  4. what’s the business value of this tools?

Interpersonal Conflict

项目开发新功能

有两种不同的方案

  1. 方案一比较新颖但是复杂

    我的主管希望引入一个复杂的解决方案,但我认为这样会增加代码的复杂性

  2. 方案二比较简单,且易于未来长期的系统维护

    我则主张采用一个更加简化的方案,能够达到相同的效果并且更容易维护

作为团队中的开发人员,我的任务是确保我们采用的技术方案不仅有效,还要考虑后期的维护性和扩展性。我需要确保我们选择的方案能达到这些目标

倾听,沟通,理解并平衡各方需求

  1. 倾听 —> 单独与冲突双方进行对话,了解每个人的立场和顾虑

    首先与主管安排了一次一对一的讨论

  2. 沟通 —> 找到共同点,重新设定优先级

    我还认真听取了他的理由,理解他关注的点

    然后 通过展示数据和之前项目中的实例,来证明我的简化方案在类似情况下的成功

  3. 我召开了一个团队会议,鼓励大家开放讨论问题

    我们决定召开一次团队讨论,我自己整理了这两个方案的优缺点,然后讲给大家,让大家一起讨论,决定选哪个

结果: 达成共识,积极结果(量化)

通过团队讨论,我们最终采用了一个折中的方案,既能满足主管对功能性的要求,也保持了代码的简洁性。结果是,我们按时发布了新功能,并且简化的代码提高了维护的效率。整个团队对这种开放式沟通的方式表示认可,这也增强了我们在后续项目中的协作。

简化部分实现:你们可以在初期实现中,先采用基于规则的推荐系统(如用户的浏览和购买历史),这种方法可以实现基本的推荐功能,且不需要引入复杂的机器学习算法。

功能扩展规划:同时,在架构上保留未来引入机器学习模型的接口和可扩展性,这样当用户数据规模增加或者对推荐精度要求提高时,可以逐步升级为复杂的机器学习模型。

阶段性实现:以短期内发布一个简单的功能为目标,满足当前的业务需求,后续可以根据用户反馈和系统数据的增长逐步扩展模型的复杂度。

Tips

简历上 做了什么

BQ 体现自己的优势

要学会 引导 面试官 询问自己

你做了什么,为什么要用该技术,为什么用别的不行

Amazon 14 Principles

  1. Customer Obesssion

    put cumstomers at the heart of everything it does

    think about a time when gone above/beyond what’s required for a customer

    准备一个超过顾客预期的故事

  2. Eearn Trust

    treat people with respect

  3. Hire/develop the best people

    when you hire new poeple, think about how they can help the company grow/move forward

  4. Think Big

    go out of your way

    for the customers in everything you can

  5. Bais for Actions

    I believe one of the reasons why I’ve been successful is because I always take action.

    句话可以背下来

  6. Leader are right

    make right choice/decision under cetrain situation, even under pressure

    准备一个压力下作决定的故事

  7. Insistant the Highest Standards

    you always work in high standards and never cut corners

    准备一个故事 a situation you insistant a high standard

    perhaps it might be an unpopular decision among a team

    but you said no

    we are gonna do things the right way.

    可以结合上面压力故事,添加坚持高标准

  8. Dive in Deep

    Look into things deeply

    Analysis data and information to get results

    project细节

    可以结合上面压力故事,添加坚持高标准, 是因为不想临时解决,而是想长期解决

  9. Take ownship of situations

    responsible and accountable

    somebody in the teams said that’s not my faulty. It’s sb else’s fault.

    That’s happens in many cases

    I will take ownships of that situation

    Say: let’s resolve it and get it sorted out.

  10. willing to learn && be curious

    develop and ask questions —> find out why I am doing things

    1. 主动学习新知识
    2. 找到领域学习到expert level
    3. 对某一个project细节 (同理体现在Dive in Deep)
    4. 使用methodology 去 learn
  11. Invent && Simplify

    be able to lead teams to innovate and invent

    looking forward

    coming up with great idea

    delivery results

第一轮的不足之处

  1. 自我介绍完,要有一个收尾的话语,让interviewee意识到

    that’s all about I want to say.

  2. 增加自己的思考口语

    let me think

    give me a second

  3. 准备的detail故事直接是有confilcts

    修改故事 or 将写完的每个故事串联一下,查看是否有问题

  4. 公司产品 用户的数量,软件的范围

    多少人使用你的产品

    小组多少人

    公司多少人

  5. 如何处理和上司的关系

    manager 是 合作伙伴 和 可利用的资源

    要体现 communication

  6. 对于CV中的技术词语的概念要学会解释

    kafaka

    mysql为什么要sharding 为什么horzontal partiting—> 准备details

  7. 最chanllenge的project

  8. 面试反Q的问题

    what does your group do?

    What are the main technology stack used by your company?

    what are the chanllenages and difficulties of this position?

  9. 如何lead 面试官问问题

    Weekness

    Conflicts

References

BQ 诸神黄昏

https://docs.google.com/document/d/112HBiMNvu6TYbDUOfVRe_MS4A-fKaWYrpMlmnsiMNiA/mobilebasic

google video

https://www.youtube.com/@newgpu-sys-design/videos

AI mock interview

https://www.hellointerview.com/mock/ai

DDIA

http://ddia.vonng.com/#/

ML八股

https://xiaobaiha.gitbook.io/tech-share/machinelearning/shen-du-xue-xi-tui-jian-xi-tong-suan-fa-zheng-li

why company

https://www.1point3acres.com/bbs/thread-559648-1-1.html

introduce work experience

https://www.1point3acres.com/bbs/thread-485415-1-1.html

  1. dataset to fin-tune the LLM

    explore the chosen dataset

    the content

    the size of the dataset

  2. find the way that add a new model before LLM to control the input to fin-tune

future

  1. how to combine the dataset with the new method that I found and make it works

  2. evaluation: 2 ways:

human rating

existing model and dataset in specific areas to evaluate the blending result