招聘3年以内经验的Golang开发者
招聘3年以内经验的Golang开发者 你好,我们正在寻找Picnic Go开发人员
Picnic是一家位于硅谷、发展迅速且获得风险投资支持的初创公司。我们构建了一款移动社交应用程序,作为通往爱好、兴趣点和兴趣的入口——即“兴趣操作系统”。我们在两个月内用户增长超过一百万(比早期的Snapchat、YouTube或Music.ly [Tiktok] 发展更快),拥有比领先社交网络更佳的用户使用情况,并提供了一个积极影响一代人及未来社交方式的机会,塑造互联网,并为Z世代带来社区体验。我们已经完成了一轮融资,正在寻找有才华、技术过硬的软件工程师来领导我们的产品扩展和增长。
我们正在寻找各级别的Go开发人员,需要全职投入,帮助我们构建一个新的后端系统,该系统需具备扩展到数百万用户的潜力。 我们当前的传统后端运行在GCP和无服务器的Firebase上。然而,我们的重建工作需要具备Golang和Kubernetes的经验。
您将成为一个小型分布式开发团队(移动端 + 后端)的一员,并将获得团队其他成员的协助,并由我们的工程主管在整个过程中为您提供所需的任何指导。我们奖励高效产出,并欢迎任何反馈(技术或其他方面),以改善团队中每个人的工作环境。
我们希望尽快开始全职工作。我们提供极具竞争力的薪酬,并乐于满足任何薪酬形式的偏好。对于我们的远程工程师,我们还提供现金和股权安排的激励。
资格/职责包括:
对于高级职位,最好有几年的后端工程经验
○ 具备应用程序开发/支持经验
○ 具备云平台和分析工具经验
○ 重建和维护应用程序以支持1000万至1亿用户
必需的技术技能包括:
- Golang
- Docker
- 了解CI/CD
推荐的技术技能包括:
- 后端:Firebase, MongoDB, PostgresDB, Redis
- 交互:gRPC, GraphQL, REST, Kafka
- 基础设施:Docker, k8s, Google Cloud Platform
业务要求:
全职工作时间
寻求长期工作关系
不接受代理/开发工作室,仅限个人
如果您有兴趣,请通过以下方式联系我:giorgidalakishvili@picnic.zone
谢谢 此致
更多关于招聘3年以内经验的Golang开发者的实战教程也可以访问 https://www.itying.com/category-94-b0.html
你好 @Giorgi_Dalakishvili,我发送了关于这篇帖子的邮件,你能查收一下你的收件箱吗?
诚挚地,
你好,Andrew,职位招聘仍然有效… 你是否正好有三年工作经验? 如果是的话,我将很高兴地发送日历链接给你预约会议。
此致
没注意到帖子的日期,是吧? 
高级 Golang 工程师寻求新工作 https://www.linkedin.com/in/oleksii-oleksii-99aa36127/
你好,Giorgi,
如果你还在寻找合适的人选,我对这个职位很感兴趣,因为你想做的事情正好在我的专业领域之内。
你可以通过 andrewjohnson.56782@gmail.com 联系我。
祝好,并祝你今天过得愉快。
Giorgi_Dalakishvili:
giorgidalakishvili@picnic.zone
你好, 希望你一切顺利。 我们是一家CMMI 3级公司,拥有650多名专业人员,以极具竞争力的价格为全球客户提供服务。 请开启对话,以便我们进一步讨论您当前的需求。 此外,您可以通过Skype联系我:cis.scott 或发送电子邮件至:scott@cisinlabs.com 很高兴能与您合作。 此致, Scott
根据招聘要求,这是一个专注于高并发后端系统重建的Go开发岗位。以下是针对技术要点的专业分析:
核心架构需求分析:
- 微服务架构:需要基于gRPC/GraphQL构建可扩展的微服务
- 容器化部署:必须掌握Docker镜像优化和Kubernetes编排
- 数据层设计:需要处理MongoDB分片和PostgreSQL读写分离
示例代码(用户服务原型):
package main
import (
"context"
"net/http"
"github.com/gin-gonic/gin"
"go.mongodb.org/mongo-driver/mongo"
"google.golang.org/grpc"
)
// 用户服务gRPC接口
type UserServiceServer struct {
db *mongo.Database
redisClient *redis.Client
}
func (s *UserServiceServer) GetUser(ctx context.Context, req *pb.UserRequest) (*pb.UserResponse, error) {
// MongoDB查询优化
pipeline := mongo.Pipeline{
{{"$match", bson.M{"user_id": req.Id}}},
{{"$project", bson.M{
"profile": 1,
"stats": bson.M{"$slice": ["$activity", -100]}}}},
}
// Redis缓存层
cacheKey := fmt.Sprintf("user:%s", req.Id)
if data, err := s.redisClient.Get(ctx, cacheKey).Result(); err == nil {
return parseCachedUser(data)
}
// 数据库查询
cursor, err := s.db.Collection("users").Aggregate(ctx, pipeline)
if err != nil {
return nil, status.Error(codes.Internal, err.Error())
}
// 更新缓存
s.redisClient.SetEx(ctx, cacheKey, serializedData, time.Hour)
return &pb.UserResponse{User: user}, nil
}
// REST网关示例
func setupRouter() *gin.Engine {
r := gin.Default()
// 健康检查端点
r.GET("/health", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"status": "healthy",
"services": map[string]string{
"mongodb": "connected",
"redis": "connected",
},
})
})
// 用户API组
v1 := r.Group("/api/v1")
{
v1.GET("/users/:id", getUserHandler)
v1.POST("/users", createUserHandler)
}
return r
}
// Kubernetes就绪探针
func readinessProbe() bool {
// 检查数据库连接
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
if err := mongoClient.Ping(ctx, readpref.Primary()); err != nil {
return false
}
// 检查Redis连接
if _, err := redisClient.Ping(ctx).Result(); err != nil {
return false
}
return true
}
CI/CD流水线关键点:
# .github/workflows/deploy.yml
name: Deploy to GKE
on:
push:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: go test -race -coverprofile=coverage.out ./...
- name: Build Docker image
run: |
docker build -t gcr.io/$PROJECT_ID/service:${{ github.sha }} .
- name: Deploy to GKE
env:
KUBECONFIG: ${{ secrets.KUBECONFIG }}
run: |
kubectl set image deployment/user-service \
user-service=gcr.io/$PROJECT_ID/service:${{ github.sha }}
性能优化建议:
- 使用
sync.Pool减少GC压力 - 实现连接池管理数据库连接
- 采用Circuit Breaker模式处理服务降级
- 使用pprof进行性能剖析
监控集成:
import (
"github.com/prometheus/client_golang/prometheus"
"go.opentelemetry.io/otel"
)
var (
requestsTotal = prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: "http_requests_total",
Help: "Total HTTP requests",
},
[]string{"method", "endpoint"},
)
requestDuration = prometheus.NewHistogramVec(
prometheus.HistogramOpts{
Name: "http_request_duration_seconds",
Help: "Request duration in seconds",
},
[]string{"endpoint"},
)
)
func instrumentedHandler(endpoint string, handler http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
start := time.Now()
// 记录追踪
ctx, span := otel.Tracer("api").Start(r.Context(), endpoint)
defer span.End()
// Prometheus指标
requestsTotal.WithLabelValues(r.Method, endpoint).Inc()
timer := prometheus.NewTimer(requestDuration.WithLabelValues(endpoint))
defer timer.ObserveDuration()
handler(w, r.WithContext(ctx))
}
}
这个岗位需要构建能够支撑千万级用户的系统,重点考察分布式系统设计能力和性能优化经验。代码示例展示了典型的高并发后端服务架构模式。

