编程语言
首页 > 编程语言> > 程序媛上班第一天,尽然让我做这个?!

程序媛上班第一天,尽然让我做这个?!

作者:互联网

大家好!

本人
性别:女
母语:golang
爱好:电影,运动,做研究
今天是我入职第一天,hr 居然让我做招聘。

以下是我用母语写的 JD,有兴趣的大佬可以加入一起工作

聘 Golang 工程师(后端、云相关)

薪资:30k-70k・14 薪

坐标杭州・紫金港

有兴趣的大佬可以发送简历到我的邮箱:linwanlu@gnlab.com

package main

import (
	b64 "encoding/base64"
	"reflect"
)

func contains(arrayType interface{}, item interface{}) bool {
    arr := reflect.ValueOf(arrayType)
    for i := 0; i < arr.Len(); i++ {
        if arr.Index(i).Interface() == item {
            return true
        }
    }
    return false
}

type GolangCandidate struct {
    goFundamentals, goInAction []string
    githubRepoStars int
    yearsOfExperiences int
    familiarWithWechatEcosystem bool
    deeplyInvolvedInOpenSource bool
    deeplyInvolvedInProjectsLikeTikTok bool
}

type Company struct { name, slogan string }

func GnLab() Company {
    return Company{"光年实验室(GnLab)", "Hacking Everything"}
}

func (com Company) _scoreCandidate(cand GolangCandidate) int {
    var score int = 0
    if contains(cand.goFundamentals, "并发编程") &&
        contains(cand.goFundamentals, "并行编程") &&
        contains(cand.goFundamentals, "任务调度") &&
        contains(cand.goFundamentals, "垃圾回收") {
        score += 200
    }
    if cand.yearsOfExperiences >= 2 {
        score += cand.yearsOfExperiences * 10
    }
    if contains(cand.goInAction, "链路追踪") { score += 100 }
    if contains(cand.goInAction, "分布式缓存") { score += 100 }
    if contains(cand.goInAction, "消息队列") { score += 100 }
    if cand.githubRepoStars > 500 { score += 200 }
    if cand.familiarWithWechatEcosystem { score += 50 }
    if cand.deeplyInvolvedInProjectsLikeTikTok { score += 200 }
    if cand.deeplyInvolvedInOpenSource { score += 100 }
    return score
}

func (com Company) willConsiderHiring(cand GolangCandidate) bool {
    return com._scoreCandidate(cand) >= 450
}

func (com Company) benefitsPackage() string {
    b, _ := b64.StdEncoding.DecodeString(
        "MHgwMC4g5YWt6Zmp5LiA6YeRCjB4MDEuIDk1NQoweDAyLiDmnJ" +
        "/mnYPlpKfnpLzljIUKMHgwMy4g5YWo6aKd5YWs56ev6YeRCg==",
    )
    return string(b)
}

func main() {
 
    //
    // gnlab := GnLab()
    // cand1 := GolangCandidate{
    //     []string{"并发编程", "并行编程", "任务调度", "垃圾回收"},
    //     []string{"链路追踪"},
    //     500,
    //     6,
    //     true,
    //     true,
    //     false,
    // }
    // fmt.Println(gnlab.benefitsPackage())
    // fmt.Println(gnlab._scoreCandidate(cand1))
}

标签:cand,尽然,return,string,第一天,Company,contains,上班,score
来源: https://blog.csdn.net/lWl1024_88/article/details/120186088