Golang开发团队招募 - 对加入我们感兴趣吗?

Golang开发团队招募 - 对加入我们感兴趣吗? 大家好,

我是 Cheryl,refurbed 的人力运营经理。

如果您还没听说过我们——我们是翻新电子产品领域增长最快的市场,尤其是在奥地利、德国、波兰和意大利,并且计划扩展到更多市场。与全新设备相比,我们的产品可减少高达 70% 的二氧化碳排放,同时价格也便宜高达 40%。此外,每售出一台设备,我们就会种植一棵树,目前我们已经种植了超过 200,000 棵树来对抗全球变暖。

我们的目标是成为欧洲翻新设备的领先市场,我们希望能成为这场冒险的一部分!我们的开发团队正在寻找一位高素质的首席和高级 Go 后端开发人员,他将使用最新的技术,如 PostgreSQL、RabbitMQ、AMQP,当然还有 Go 😉。您可以选择远程工作或现场办公——由您决定!

您喜欢刚才读到的内容吗?- 那么请查看招聘广告以获取更多信息 –

refurbed™ – Wie neu, nur besser. refurbed™ – Wie neu, nur besser.

LinkedIn Open Graph Image

Alle offenen Jobs bei refurbed.

加入我们经验丰富的国际团队,与我们携手努力,将 refurbed 打造成欧洲领先的翻新产品市场。

让我们一起成就伟业!

如果您感兴趣,可以通过电子邮件联系我——cheryl.gyankyi@refurbed.com 或直接申请我们的职位。

此致,

Cheryl


更多关于Golang开发团队招募 - 对加入我们感兴趣吗?的实战教程也可以访问 https://www.itying.com/category-94-b0.html

3 回复

您好, 邮件已发送,请查收。 此致 Trish

更多关于Golang开发团队招募 - 对加入我们感兴趣吗?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


你好 @Cheryl_Gyankyi

希望你一切顺利!

我已经给你发了邮件,请查收。

此致 Ron

这是一个非常吸引人的机会。refurbed 的业务模式和技术栈都很有前景。对于正在寻找 Go 高级职位的开发者来说,这是一个值得认真考虑的机会。

从技术角度看,招聘中提到的 PostgreSQL、RabbitMQ、AMQP 和 Go 是一个非常经典且高效的后端技术组合,特别适合构建高并发、异步处理的市场平台。这通常意味着工作内容会涉及分布式系统、消息驱动架构和复杂的数据处理。

下面是一个简单的示例,展示了在 Go 项目中如何集成这些技术,这可能是 refurbed 后端日常开发的一部分(例如,处理订单状态更新):

package main

import (
    "context"
    "database/sql"
    "encoding/json"
    "log"
    "time"

    "github.com/streadway/amqp"
    _ "github.com/lib/pq"
)

// Order 表示一个订单结构
type Order struct {
    ID        int       `json:"id"`
    Status    string    `json:"status"`
    UpdatedAt time.Time `json:"updated_at"`
}

func main() {
    // 1. 连接到 PostgreSQL
    db, err := sql.Open("postgres", "host=localhost user=refurbed dbname=orders sslmode=disable")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    // 2. 连接到 RabbitMQ
    conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
    if err != nil {
        log.Fatal(err)
    }
    defer conn.Close()

    ch, err := conn.Channel()
    if err != nil {
        log.Fatal(err)
    }
    defer ch.Close()

    // 声明一个队列,用于发布订单状态更新事件
    queue, err := ch.QueueDeclare(
        "order_status_updates", // 队列名称
        true,  // 持久化
        false, // 不自动删除
        false, // 非排他
        false, // 不等待
        nil,   // 参数
    )
    if err != nil {
        log.Fatal(err)
    }

    // 模拟:从数据库查询一个待处理的订单
    var order Order
    err = db.QueryRowContext(context.Background(),
        "SELECT id, status, updated_at FROM orders WHERE status = $1 LIMIT 1", "processing").Scan(&order.ID, &order.Status, &order.UpdatedAt)
    if err != nil {
        log.Fatal(err)
    }

    // 更新订单状态
    newStatus := "shipped"
    _, err = db.ExecContext(context.Background(),
        "UPDATE orders SET status = $1, updated_at = $2 WHERE id = $3",
        newStatus, time.Now(), order.ID)
    if err != nil {
        log.Fatal(err)
    }
    order.Status = newStatus

    // 3. 将状态更新事件发布到 RabbitMQ,通知其他服务(如邮件、物流)
    body, err := json.Marshal(order)
    if err != nil {
        log.Fatal(err)
    }

    err = ch.Publish(
        "",         // 使用默认交换器
        queue.Name, // 路由键(这里用队列名)
        false,      // 强制
        false,      // 立即
        amqp.Publishing{
            ContentType: "application/json",
            Body:        body,
            DeliveryMode: amqp.Persistent, // 消息持久化
        })
    if err != nil {
        log.Fatal(err)
    }

    log.Printf("订单 %d 状态已更新为 '%s',事件已发布。", order.ID, order.Status)
}

这个示例演示了:

  1. 使用 database/sqllib/pq 驱动与 PostgreSQL 交互。
  2. 使用 streadway/amqp 库与 RabbitMQ 建立连接、声明队列并发布消息。
  3. 通过 AMQP 协议实现服务间的异步通信,这是构建解耦、可扩展系统的关键。

对于首席和高级开发人员角色,除了熟练运用这些技术,通常还需要负责系统架构设计、性能优化、团队技术指导以及制定开发规范。refurbed 的业务处于快速增长期,这意味着会有很多有趣的技术挑战,比如处理跨境交易、构建推荐系统、优化搜索性能以及设计高可用的微服务架构。

技术栈的明确和业务的可持续性(环保+增长)是这个职位非常突出的亮点。

回到顶部