Tech-Paul

work hard, play hard

constructor:不是 react 的方法,是 es6 的方法,可以在 react 中使用,调用当前组件的父级,也可以在函数中设置当前组件所需要的状态 state;

挂载阶段

  • constructor():在组件实例被创建和初始化的时候调用。通常用于初始化 state 和绑定事件处理函数。
  • static getDerivedStateFromProps(nextProps, prevState):在组件实例被创建以及接收到新的 props 时被调用。用于根据 props 来更新 state。
  • render():用于渲染 UI,必须是一个纯函数,不能有任何副作用操作。
  • componentDidMount():在组件挂载到 DOM 后立即调用。适合在这个阶段进行网络请求、订阅事件等操作。

更新阶段

  • static getDerivedStateFromProps(nextProps, prevState):当组件接收到新的 props 或者 state 发生变化时调用,用于根据新的 props 更新 state。
  • shouldComponentUpdate(nextProps, nextState):在接收到新的 props 或 state 时被调用。可以通过返回 false 来阻止组件的重新渲染,以优化性能。
  • render():在组件需要更新时被调用以重新渲染 UI。
  • getSnapshotBeforeUpdate(prevProps, prevState):在更新发生之前被调用,返回值会作为 componentDidUpdate 的第三个参数。
    -componentDidUpdate(prevProps, prevState, snapshot):在组件更新后被调用,可以在这里进行 DOM 操作或者数据更新后的处理。

卸载阶段

componentWillUnmount():在组件即将被卸载和销毁时调用。适合在这里进行清理操作,如取消网络请求、取消定时器等。

Self-introduction

Firstly, I’m so glad to take part in this interview, my English name is Paul, And I graduated from Huanghe Science and Technology College in 2017. My major in college was Computer Science and Technology.

I have seven years of work experience, with four years worked as a Web Development Engineer. Three years ago, I transitioned into a Full-Stack Engineer role.”

I have a deep understanding of React Framework,include hooks, state management( with tools like redux or context API),component-base architecture, and best practices for writing scalable and maintainable code. I am proficient in working with React Router, and Apollo Client for GraphQL integration. My experience extends to CSS frameworks such as SASS and Less.
我对 reacr 有很深的理解,包括 hooks,state management( 比如 redux 或者 context API),组件化架构,以及编写可扩展和可维护代码的最佳实践。我对 React Router 有深入的理解,并且对 Apollo Client 进行了 GraphQL 集成。我对 SASS 和 Less 等 CSS 框架有深入的理解。

In addition to React, I have a deep understanding of modern JavaScript (ES6+), TypeScript, and bundling tools like Webpack. I have a strong understanding of component lifecycle, performance optimization, and accessibility considerations.
除了 react,我对现代的 JavaScript(ES6+),TypeScript,以及 bundling tools like Webpack 有深入的理解。我对组件生命周期,性能优化,以及无障碍考虑有深刻的理解。

On the backend, I work with Node.js, building scalable RESTful APIs and GraphQL endpoints using frameworks like Express, My expertise includes database management with NoSQL databases (e.g., MongoDB, ArangoDB), ensuring efficient data querying, indexing, and optimization.
在后端,我使用 nodejs 工作,构建可扩展的 RESTful API 和 GraphQL 端点,使用框架如 Express,我的经验包括对 NoSQL 数据库(例如 MongoDB,ArangoDB)的数据库管理,确保高效的数据查询,索引和优化。

DevOps & Testing:

Beyond coding, I am familiar with Docker for containerization, making it easier to manage environments between development and production. I often use CI/CD pipelines for automated deployment and testing, improving development workflow. I also write unit tests using tools like Jest, ensuring code coverage.
除了编码,我还熟悉 docker 容器化,使开发和生产环境之间的容器化更容易管理。我经常使用 CI/CD 管道进行自动化部署和测试,提高开发工作流程。我还编写单元测试,使用工具如 Jest,确保代码覆盖率。

About Risk Assessment

By the way
Can I show my last project Risk Assessment to you?

The Risk Assessment system is designed for banks and financial institutions in Europe and the U.S.
to help evaluate and manage risks. Built with the Apollo Full Stack architecture,
the frontend uses React, Apollo Client, AG-Grid, and CKEditor for a responsive and dynamic interface.
The backend is powered by Node.js with GraphQL for efficient data querying, while ArangoDB serves as the database. Following the Agile Scrum methodology, the project is containerized using Docker, uses Git for version control, and manages tasks and deployments with Azure ADO.

项目名称 Risk Assessment,是一个风险评估系统,主要面向欧美中小银行证券的客户,项目采用 Apollo 全栈技术架构,前端以 react 为核心,包含 apollo-client, ag-grid, ckeditor 等,后端使用 nodejs 作为开发语言,craphql 作为查询语言,数据库使用 arangodb,项目采用敏捷开发,使用 scrum 框架,项目采用 docker 容器化,使用 sonar 进行代码质量检测,使用 github 进行代码管理,使用 azure ado 进行项目管理和自动化部署

Question

  1. Why did you leave your last company?
    The company faced budget cuts in the new fiscal year, and my role was unfortunately impacted. However, I’ve since focused on upgrading my skills.

  2. how long did you leave your last corporation?

It’s been about three months since I left. I’ve used this time to focus on professional development and am now ready to take on new challenges.”

  1. could you introduce your last company.
    ok,
0%