📜  Zoomcar 面试体验 – ROR 开发人员(1)

📅  最后修改于: 2023-12-03 15:35:50.184000             🧑  作者: Mango

Zoomcar 面试体验 – ROR 开发人员

在面试过程中,Zoomcar 要求我们写一个简单的 Web 应用,用 Ruby on Rails 框架实现。

面试流程
  1. 简单的自我介绍
  2. 简单的笔试(包含 Ruby 基础知识和 Rails 框架)
  3. 实现一个简单的 Web 应用
  4. 代码实现讲解和技术沟通
实现一个简单的 Web 应用

在该面试过程中,我需要实现一个简单的 Web 应用,用于展示一些用户信息。该应用需要包含以下功能:

  • 用户注册 / 登录
  • 显示用户列表页
  • 显示用户详情页
  • 实现用户账号信息修改

为了实现这些功能,我使用了 Ruby on Rails 框架,使用 Devise 这个 Rails 的常用认证库。在项目的配置文件中,我指定了数据库的名称和密码。 我使用了 PostgresQL 数据库,因为在对基础知识的笔试中,Zoomcar 强调了 PostgresQL 这个数据库。

下面是实现用户注册和登录的代码:

class User < ApplicationRecord
  # devise 定义注册和登录相关的方法
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable
end
class ApplicationController < ActionController::Base
  # 检查用户是否已经登录
  before_action :authenticate_user!
end

下面是实现用户列表页和详情页的代码:

class UsersController < ApplicationController
  # 列表页
  def index
    @users = User.all
  end

  # 详情页
  def show
    @user = User.find(params[:id])
  end
end

下面是实现用户账号信息修改的代码:

class RegistrationsController < Devise::RegistrationsController
  # 用户信息修改页
  def edit
    super
  end

  # 更新用户信息
  def update
    super
  end

  protected

  # 修改成功后,重定向到详情页
  def after_update_path_for(resource)
    user_path(resource)
  end
end
代码实现讲解和技术沟通

在面试结束后,Zoomcar 的面试官分别询问了我关于 Ruby 和 Rails 相关的基础知识和经验,并针对代码进行了详细的讲解,以了解我的编程思路和技能水平。

总之,这次面试是一次非常有意义的经历,我从中收获了许多经验和教训。我感谢 Zoomcar 给我这个机会,并期待未来再次与 Zoomcar 有更多的合作。