news 2026/6/12 17:00:53

智联招聘行业与职位分类SQL数据包(含完整层级结构和岗位属性)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
智联招聘行业与职位分类SQL数据包(含完整层级结构和岗位属性)

本文还有配套的精品资源,点击获取

简介:一套开箱即用的招聘领域结构化分类数据,包含job_industry.sql和job_position.sql两个标准SQL文件。行业表覆盖互联网、金融、制造、教育、医疗等30多个主流领域,支持多级分类(如一级行业→二级细分),字段含行业ID、名称、父级ID、层级深度等;职位表涵盖技术、运营、销售、职能、设计等500+常见岗位,每条记录关联所属行业ID,并标注典型职级、常见工作年限要求、学历倾向等实用属性。所有SQL语句兼容MySQL、PostgreSQL等主流数据库,可直接执行导入,无需清洗或格式转换。字段命名规范,关键字段附基础中文注释,便于快速集成到招聘系统、HRIS、求职APP或岗位分布分析平台中,支撑简历解析、人岗匹配、智能推荐等模块的数据底座建设。

1. 项目概述:为什么一套“干净”的行业职位分类数据比你想象中更难搞

做招聘系统、HRIS平台或者求职类APP的朋友,大概率都踩过这个坑:刚搭好后台,准备建岗位库,打开智联、前程无忧、BOSS直聘的网页扒分类——结果发现,各家网站的行业树长得完全不一样。智联把“人工智能”放在“互联网/IT”二级目录下,前程无忧却把它单列成一级行业;BOSS直聘的“算法工程师”带职级标签(P6/P7),智联页面上只写“算法工程师”,但详情页又悄悄标注“3-5年经验优先”。更头疼的是,这些信息散落在HTML里,没有结构化接口,爬下来全是嵌套div、动态加载的JSON片段,字段命名五花八门:“industry_id”“cat_id”“parent_code”“level_num”混着用,连个统一注释都没有。我去年帮一家中型HR SaaS公司重构岗位匹配引擎,光是清洗三份招聘平台的分类数据就花了两个后端+一个数据工程师整整六周,最后导出的SQL还因为“教育培训”和“教育/培训”字段值不一致,导致简历解析模块误判了23%的教培类候选人。

这套“智联招聘行业与职位分类SQL数据包”,就是从这种真实泥潭里捞出来的救命绳。它不是简单导出网页源码,而是基于智联招聘2024年Q2公开可访问的分类导航体系(非API,纯前端可见结构),经人工逐层校验、逻辑补全、字段归一后生成的标准关系型数据。核心就两张表:job_industry是一棵完整的多级行业树,支持无限层级展开(实测最深到四级,如“互联网/IT → 软件开发 → 移动端开发 → iOS开发”);job_position则是职位维度的“属性增强表”,每条记录不仅绑定行业ID,还额外注入了在智联真实岗位JD中高频出现的隐性特征——比如“产品经理”普遍要求“3年以上B端产品经验”,“临床护士”学历倾向明确标为“大专及以上”,这些都不是凭空编的,而是我们抽样分析了智联平台上近8万条有效岗位描述后提炼出的统计规律。关键词里写的“招聘行业分类”“职位分类表”“智联招聘SQL”“岗位属性数据”,每一个都是硬指标:行业覆盖32个一级类目、147个二级细分、42个三级扩展;职位总数529个,全部带industry_id外键、job_level(初级/中级/高级/专家)、experience_years(范围区间)、education_requirement(高中/大专/本科/硕士/博士)四维属性字段。它不解决算法问题,但能让你省下至少80%的数据基建时间——毕竟,当你的同事还在写正则清洗“金融/银行/证券/保险/投资”的歧义字符串时,你已经把job_position.sql导入数据库,开始调接口跑人岗匹配模型了。

2. 数据设计逻辑与结构拆解:为什么这样建模,而不是用扁平化或JSON字段

2.1 行业表(job_industry):用闭包表+深度标记实现真正的“可追溯多级导航”

先说结论:job_industry没有用简单的自关联(parent_id)或路径字符串(path=”/互联网/IT/软件开发”),而是采用“闭包表(Closure Table)+ 显式层级深度”的混合设计。这不是炫技,而是被现实逼出来的最优解。

看这张表的核心字段:

CREATE TABLE job_industry ( id BIGINT PRIMARY KEY COMMENT '行业唯一ID,全局递增', name VARCHAR(128) NOT NULL COMMENT '行业名称,如"互联网/IT"', parent_id BIGINT DEFAULT 0 COMMENT '父级ID,0表示一级行业', depth TINYINT NOT NULL COMMENT '当前节点深度,1=一级,2=二级...', path VARCHAR(255) COMMENT '完整路径,如"/1/5/23/",用于快速查询子树', is_leaf BOOLEAN DEFAULT FALSE COMMENT '是否为叶子节点(无子行业)', created_at DATETIME DEFAULT CURRENT_TIMESTAMP );

为什么不用纯自关联?举个真实例子:某客户要做“查看所有互联网相关岗位”的报表。如果只存parent_id,查四级子行业就得写四层JOIN(JOIN ON i2.parent_id = i1.id JOIN ON i3.parent_id = i2.id...),MySQL 5.7下性能直接崩盘。而闭包表在插入时就预计算好所有祖先-后代关系,查“互联网”及其所有子行业,一条SQL搞定:

SELECT DISTINCT i.* FROM job_industry i JOIN industry_closure c ON i.id = c.descendant_id WHERE c.ancestor_id = (SELECT id FROM job_industry WHERE name = '互联网/IT');

我们随包附赠的industry_closure.sql就是这个预计算表,包含12,843条关系记录(32个一级行业 × 平均400个后代节点)。至于depth字段,它解决了另一个痛点:前端做树形控件时,需要知道每个节点该缩进几格。如果靠程序递归计算深度,每次渲染都要查N次数据库;而depth字段让前端直接读取<div style="margin-left: calc({{item.depth}} * 24px)">,零延迟。

提示:path字段看似冗余,但它在PostgreSQL中能配合LIKE '/1/5/%'实现毫秒级子树查询,在MySQL中则作为兜底方案(当闭包表因某些原因未启用时)。我们测试过,对10万级行业节点,pathLIKE查询比递归CTE快17倍。

2.2 职位表(job_position):属性字段不是“锦上添花”,而是匹配算法的燃料

job_position的设计哲学很直白:所有字段必须能在真实招聘场景中驱动一次决策。所以你看不到“created_by”“updated_at”这类管理字段,但一定有这四个核心属性:

字段名类型示例值驱动场景
job_levelENUM(‘entry’,’mid’,’senior’,’expert’)‘mid’简历解析时,自动将“3年经验Java开发”映射为’mid’,跳过人工标注
experience_yearsJSON{"min":2,"max":5}智能推荐时,对用户简历中的“工作年限”做区间匹配,而非简单相等
education_requirementENUM(‘high_school’,’junior_college’,’bachelor’,’master’,’doctor’)‘bachelor’HRIS系统设置岗位准入门槛,自动拦截学历不符的投递
is_managementBOOLEANTRUE匹配“团队管理经验”需求时,精准筛选带管理属性的职位

特别说明experience_years用JSON而非两个INT字段。表面看是“过度设计”,实则解决了一个关键矛盾:智联JD中经验要求存在大量模糊表述。“2-5年”“3年以上”“应届生优先,有经验者加分”——如果强行拆成min_year/max_year,会丢失语义。我们用JSON存储原始语义:

{"type":"range","min":2,"max":5} {"type":"min","min":3} {"type":"flexible","note":"应届生优先,有经验者加分"}

后端解析时,根据type选择匹配策略:range走区间交集,min走大于等于,flexible则降权处理。这个设计让我们的客户在做简历-岗位匹配时,准确率从68%提升到89%(A/B测试数据)。

注意:所有ENUM值都严格对应智联官网实际使用的术语。比如job_level不用’junior’而用’entry’,是因为智联JD原文写的是“初级工程师”而非“Junior Engineer”;education_requirement中没有’phd’而用’doctor’,因智联从未在JD中出现“PhD”字样,全是“博士”。

2.3 两表关联逻辑:外键不是摆设,而是业务规则的强制约束

很多人会忽略job_position.industry_id这个外键的实际意义。它不只是技术层面的关联,更是业务规则的锚点。我们在建表时加了这条约束:

ALTER TABLE job_position ADD CONSTRAINT fk_position_industry FOREIGN KEY (industry_id) REFERENCES job_industry(id) ON UPDATE CASCADE ON DELETE RESTRICT;

ON UPDATE CASCADE确保当某个行业ID变更时(比如智联调整分类体系),职位表自动同步,避免数据漂移;ON DELETE RESTRICT则彻底禁止删除被职位引用的行业——因为现实中,“互联网/IT”行业下有217个职位,删掉它等于让整个岗位库崩塌。这个设计倒逼我们在更新行业树时必须走“软删除+重定向”流程(新增redirect_to_id字段),保证历史数据可追溯。

3. 数据来源与清洗过程:如何把网页上的“毛坯房”变成数据库里的“精装交付”

3.1 数据采集:不碰API,只抓“人眼可见”的稳定结构

我们坚持一个原则:所有数据必须来自智联招聘官网公开、无需登录、不触发反爬的前端页面。具体路径是:进入智联首页 → 点击“职位搜索” → 展开左侧“行业选择”弹窗 → 逐级点击展开所有行业树节点 → 保存每层的HTML结构。为什么不用API?因为智联的职位分类API(如/api/cats/industries)返回的是压缩后的ID映射({"1":"互联网/IT","5":"金融/银行"}),缺失层级关系和中文名称;而前端弹窗的HTML里,每个<li>标签都带着完整的data-iddata-parentdata-level属性,且结构稳定(我们监控了过去18个月,该DOM结构零变更)。

采集工具用的是定制化的Puppeteer脚本,核心逻辑只有三行:

// 等待行业树完全展开(防动态加载) await page.waitForSelector('.industry-tree .tree-node.expanded', { timeout: 10000 }); // 提取所有节点的层级信息 const nodes = await page.$$eval('.industry-tree .tree-node', els => els.map(el => ({ id: el.dataset.id, name: el.querySelector('.node-name').innerText.trim(), parentId: el.dataset.parent || '0', level: parseInt(el.dataset.level) })) ); // 递归构建树形结构并去重

全程不截图、不模拟点击、不填表单,只做结构化提取。最终得到一份原始CSV,含1,247条节点记录,但其中存在大量问题:同一行业在不同入口重复出现(如“教育培训”在“教育”和“服务业”下各有一条)、名称不统一(“人工智能”vs“AI”)、层级错乱(某三级节点parent_id指向不存在的一级ID)。

3.2 清洗策略:用“三阶校验法”消灭歧义

我们把清洗分成三个阶段,每阶段解决一类问题:

第一阶段:名称标准化(解决“同义不同名”)
建立行业术语词典,覆盖智联常用别名:
- “互联网/IT” → 统一为“互联网/IT”
- “AI”“人工智能”“机器学习” → 全部归入“人工智能”(因其在智联分类中属于“互联网/IT”下的四级子类)
- “教育培训”“教育/培训”“培训服务” → 合并为“教育培训”

执行方式:用Python的fuzzywuzzy库计算字符串相似度,阈值设为85。例如,“AI算法工程师”与“人工智能算法工程师”相似度92,自动合并;而“AI芯片”相似度仅63,保留为独立节点。

第二阶段:层级修复(解决“父子错位”)
对每条记录,检查其parent_id是否存在、level是否匹配父节点level+1。发现237处错误,典型案例如下:
- 原始数据:id=105, name="区块链", parent_id=33, level=3
id=33对应“软件开发”,level=2,逻辑合理;
- 错误数据:id=208, name="元宇宙", parent_id=33, level=2
level=2却挂在level=2的父节点下,明显应为level=3

修复算法:遍历所有节点,对每个parent_id,找出其所有子节点,按level排序,若发现level不连续,则用中位数插值法修正(如父节点level=2,子节点有[2,3,5],则level=5的节点修正为level=4)。

第三阶段:语义补全(解决“属性缺失”)
这是最耗时的环节。对529个职位,我们做了三件事:
1.职级标注:抽样1000条智联JD,统计每个职位出现的职级关键词频次。例如,“架构师”在92%的JD中带“高级/资深”前缀,“助理工程师”100%对应“初级”;
2.经验年限:用正则提取JD中的经验要求(r'(\d+)[\-至]?(\d+)?年.*?经验'),对每个职位计算众数区间。如“Java开发工程师”共出现217次,其中2-5年出现142次,定为默认值;
3.学历倾向:统计JD中学历关键词出现比例。“产品经理”JD中“本科及以上”出现率89%,“护士”JD中“大专及以上”出现率96%,据此设定education_requirement

整个清洗过程产出一份《清洗日志》,记录每条修正依据(如“修正id=456的level:原为2,因父节点id=123的level=1且无其他level=2子节点,故设为3”),确保可审计、可回溯。

4. 实操导入与集成指南:从SQL文件到生产环境的完整链路

4.1 一键导入:兼容MySQL 5.7+与PostgreSQL 10+的实测脚本

包内job_industry.sqljob_position.sql已按标准SQL-92语法编写,但不同数据库对COMMENTENUM的支持有差异。我们提供了三套导入方案:

方案一:MySQL 8.0+(推荐,支持全部特性)
直接执行:

mysql -u root -p your_db < job_industry.sql mysql -u root -p your_db < job_position.sql # 验证数据完整性 mysql -u root -p -e "SELECT COUNT(*) FROM job_industry;" your_db # 返回:1247 mysql -u root -p -e "SELECT COUNT(*) FROM job_position;" your_db # 返回:529

方案二:MySQL 5.7(需临时关闭严格模式)
因5.7对ENUM长度限制较严,执行前需:

SET SESSION sql_mode = ''; -- 再导入SQL文件

方案三:PostgreSQL(需转换ENUM为TEXT)
PostgreSQL不原生支持ENUM,我们提供转换脚本pg_convert.py

# 将job_position.sql中的 ENUM('entry','mid') 替换为 TEXT CHECK (value IN ('entry','mid')) import re with open('job_position.sql') as f: content = f.read() content = re.sub(r"ENUM\('([^']+)','([^']+)'\)", r"TEXT CHECK (value IN ('\1','\2'))", content) with open('job_position_pg.sql', 'w') as f: f.write(content)

转换后执行psql -U postgres -d your_db -f job_position_pg.sql即可。

提示:所有SQL文件首行都加了SET NAMES utf8mb4;,避免中文乱码。我们实测过,在阿里云RDS MySQL 5.7和腾讯云PostgreSQL 12上,导入耗时均小于1.2秒(SSD磁盘)。

4.2 快速验证:三条SQL命令确认数据可用性

导入完成后,用以下命令快速验证核心功能是否正常:

验证1:行业树完整性(查任意一级行业的所有子孙)

-- 查“制造业”及其所有子行业(含四级) SELECT i1.name AS level1, i2.name AS level2, i3.name AS level3, i4.name AS level4 FROM job_industry i1 LEFT JOIN job_industry i2 ON i2.parent_id = i1.id LEFT JOIN job_industry i3 ON i3.parent_id = i2.id LEFT JOIN job_industry i4 ON i4.parent_id = i3.id WHERE i1.name = '制造业' AND i1.depth = 1; -- 应返回127行,覆盖汽车制造、机械加工、电子制造等全部分支

验证2:职位属性有效性(查高经验要求的技术岗)

-- 查经验要求5年以上的技术类职位 SELECT p.name, p.experience_years, i.name AS industry_name FROM job_position p JOIN job_industry i ON p.industry_id = i.id WHERE p.experience_years->>'min' >= '5' AND i.path LIKE '/1/%' -- 1是互联网/IT的一级ID ORDER BY p.experience_years->>'min' DESC LIMIT 5; -- 应返回如“首席架构师”“AI科学家”等职位,experience_years为{"min":8}或{"min":5,"max":10}

验证3:外键约束生效性(尝试插入非法industry_id)

INSERT INTO job_position (name, industry_id) VALUES ('测试岗', 999999); -- 应报错:ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails

4.3 生产环境集成:三个典型场景的代码片段

场景1:简历解析系统中自动打标
假设你用Python解析简历,提取到“工作经验:5年,学历:本科,应聘职位:Java开发工程师”。匹配逻辑如下:

# 从数据库查职位基础信息 cursor.execute(""" SELECT id, job_level, experience_years, education_requirement FROM job_position WHERE name = %s """, ("Java开发工程师",)) pos = cursor.fetchone() # 返回 {'id': 123, 'job_level': 'mid', ...} # 匹配逻辑 def match_experience(resume_exp, pos_exp): exp_json = json.loads(pos_exp) if exp_json['type'] == 'range': return resume_exp >= exp_json['min'] and resume_exp <= exp_json['max'] elif exp_json['type'] == 'min': return resume_exp >= exp_json['min'] else: return True # flexible类型降权但不拒绝 match_result = { 'position_id': pos['id'], 'level_match': resume_edu == pos['education_requirement'], # 学历精确匹配 'exp_match': match_experience(5, pos['experience_years']), # 经验区间匹配 'score': 0.7 if match_experience(5, pos['experience_years']) else 0.3 }

场景2:HRIS系统中设置岗位准入规则
在创建新岗位时,前端下拉菜单的数据源:

-- 获取所有“互联网/IT”下的职位(含子行业) SELECT DISTINCT p.name, p.job_level, p.experience_years FROM job_position p JOIN job_industry i ON p.industry_id = i.id WHERE i.path LIKE (SELECT path FROM job_industry WHERE name = '互联网/IT') || '%' ORDER BY p.name;

场景3:求职APP中智能推荐
用户画像为“3年经验,本科,偏好技术岗”,推荐SQL:

SELECT p.name, i.name AS industry, ABS(3 - (p.experience_years->>'min')::int) AS exp_gap FROM job_position p JOIN job_industry i ON p.industry_id = i.id WHERE p.education_requirement = 'bachelor' AND i.path LIKE '/1/%' -- 技术类行业 AND p.experience_years->>'min' <= '3' ORDER BY exp_gap ASC, p.job_level DESC LIMIT 10;

5. 常见问题与避坑指南:那些文档里不会写的实战教训

5.1 数据更新机制:如何应对智联分类体系的季度调整

智联每年3月、9月会微调行业分类(如2024年3月将“新能源汽车”从“制造业”移至“互联网/IT”下)。我们的数据包不承诺永久有效,但提供了可持续维护的方案:

  • 版本控制:每个数据包根目录有VERSION.md,记录生成日期(如20240615)和智联官网快照URL(https://www.zhaopin.com/industries/20240615.html);
  • 增量更新脚本:包内update_diff.py可对比新旧HTML,输出diff.sql(只含新增/修改/废弃的行业ID);
  • 业务层兼容:我们建议在业务表中增加industry_version字段,存储该岗位创建时的数据包版本号,避免新老数据混用。

实操心得:某客户曾直接覆盖旧数据,导致历史岗位的industry_id失效。正确做法是运行diff.sql后,用UPDATE job_position SET industry_id = new_id WHERE industry_id = old_id AND industry_version = '20240315';,只更新指定版本的数据。

5.2 字段使用误区:为什么不要把job_level当“职级”直接展示给用户

job_level(entry/mid/senior/expert)是内部匹配用的枚举值,不是对外展示的职级名称。智联JD中,“高级Java工程师”和“Java高级工程师”都对应job_level='senior',但对外展示必须还原为原始文本。如果前端直接显示“Senior”,用户会困惑。正确做法:

// 前端映射表(根据实际JD语料生成) const levelDisplayMap = { 'entry': ['初级', '助理', '应届'], 'mid': ['中级', '高级', '资深'], 'senior': ['高级', '资深', '专家'], 'expert': ['首席', '总监', '研究院'] }; // 随机选一个展示,避免千篇一律 const display = levelDisplayMap[pos.job_level][Math.floor(Math.random() * levelDisplayMap[pos.job_level].length)];

5.3 性能优化:当职位表突破10万行时的索引策略

虽然初始只有529条职位,但客户常会在此基础上扩展自有职位(如“XX公司-高级Java工程师”)。当job_position行数超10万时,必须添加复合索引:

-- 加速按行业+职级查询 CREATE INDEX idx_industry_level ON job_position(industry_id, job_level); -- 加速经验区间查询(PostgreSQL需安装intarray扩展) CREATE INDEX idx_exp_gin ON job_position USING GIN ((experience_years->>'min') gin_trgm_ops); -- MySQL 8.0+ 可用函数索引 CREATE INDEX idx_exp_min ON job_position((CAST(experience_years->>'min' AS UNSIGNED)));

我们实测过,在12万行数据下,带industry_id=1 AND job_level='senior'的查询,响应时间从1.2秒降至38ms。

5.4 安全边界:为什么不能用此数据做“薪资预测”

必须强调:本数据包不含任何薪资信息、企业规模、融资阶段等商业敏感字段。有客户试图用experience_yearsjob_level训练薪资模型,结果误差率达±47%。原因很简单:智联JD中的经验要求是“门槛”,而薪资取决于企业预算、地域、团队编制等复杂因素。我们提供的只是分类骨架,不是业务血肉。真正做薪资分析,必须对接薪酬调研报告(如Mercer、Aon)或爬取真实薪资评论(需合规授权)。

6. 扩展应用与二次开发:让这套数据产生更多业务价值

6.1 构建行业热力图:可视化区域人才供需

结合城市编码表(如国家统计局《2023年统计用区划代码》),可生成“行业热度地图”。SQL逻辑如下:

-- 统计各城市投递“人工智能”相关职位的数量(需关联简历投递日志表) SELECT c.city_name, COUNT(*) as apply_count, ROUND(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER(), 2) as percentage FROM resume_apply_log r JOIN job_position p ON r.position_id = p.id JOIN job_industry i ON p.industry_id = i.id JOIN city_code c ON r.city_code = c.code WHERE i.path LIKE (SELECT path FROM job_industry WHERE name = '人工智能') || '%' GROUP BY c.city_name ORDER BY apply_count DESC LIMIT 10;

输出结果可直接喂给ECharts,生成交互式热力图,帮助HR判断校招重点城市。

6.2 职位相似度计算:为推荐系统注入语义理解

利用行业树的路径距离,可计算职位语义相似度。公式为:

similarity(p1, p2) = 1 - (depth_common_ancestor / max(depth_p1, depth_p2))

例如:“iOS开发”(路径/1/5/23/101/)和“Android开发”(路径/1/5/23/102/)的最近公共祖先是/1/5/23/(移动端开发),depth_common=3max_depth=4,相似度=1-3/4=0.25;而“iOS开发”和“Java开发”(路径/1/5/23/103/)最近公共祖先是/1/5/23/,同样0.25。但若“Java开发”路径是/1/5/24/103/(后端开发),则最近公共祖先是/1/5/(软件开发),depth_common=2,相似度=1-2/4=0.5。这个值可作为协同过滤的权重因子。

6.3 对接大模型:用结构化数据增强LLM的招聘领域理解

job_industryjob_position转成知识图谱,可显著提升大模型在招聘场景的回答质量。示例Prompt:

你是一个资深HR,正在为【智能制造】行业撰写岗位JD。请参考以下结构化知识: - 行业路径:制造业 → 机械设备 → 智能制造 - 相关职位:工业机器人工程师(经验要求:3-5年,学历:本科,职级:mid) - 关键技能:ROS、PLC编程、机器视觉 请生成一份符合智联招聘风格的JD,突出技术栈和经验要求。

我们已验证,接入该知识后,LLM生成的JD中“经验要求”准确率从52%提升至91%,且不再出现“要求博士学历的初级岗位”这类逻辑错误。

7. 最后一点个人体会:数据基建的终极目标不是“全”,而是“准”

做这个数据包的半年里,我反复问自己一个问题:为什么智联不直接开放这套分类的API?后来想明白了——分类体系本身不是目的,而是连接人与机会的桥梁。我们花80%时间做的,不是收集数据,而是理解智联编辑们怎么想:为什么把“碳中和”放在“能源/环保”下而不是“制造业”?为什么“用户体验设计师”和“交互设计师”被列为同一职位?答案藏在招聘市场的供需关系里。所以,当你拿到这个SQL包,别急着导入就完事。花15分钟,打开智联官网,对照着job_industry.sql里的path字段,手动点开几个行业树,看看真实页面长什么样。你会发现,depth=4的“游戏测试工程师”,在官网上确实被折叠在“互联网/IT → 游戏 → 研发 → 测试”这个路径下,而experience_years里写的{"min":1,"max":3},正是当前中小游戏公司的真实用人节奏。数据的价值,永远在于它背后那个活生生的市场。这套包能帮你省下两周开发时间,但真正决定你系统成败的,是你是否愿意花那15分钟,去触摸数据背后的温度。

本文还有配套的精品资源,点击获取

简介:一套开箱即用的招聘领域结构化分类数据,包含job_industry.sql和job_position.sql两个标准SQL文件。行业表覆盖互联网、金融、制造、教育、医疗等30多个主流领域,支持多级分类(如一级行业→二级细分),字段含行业ID、名称、父级ID、层级深度等;职位表涵盖技术、运营、销售、职能、设计等500+常见岗位,每条记录关联所属行业ID,并标注典型职级、常见工作年限要求、学历倾向等实用属性。所有SQL语句兼容MySQL、PostgreSQL等主流数据库,可直接执行导入,无需清洗或格式转换。字段命名规范,关键字段附基础中文注释,便于快速集成到招聘系统、HRIS、求职APP或岗位分布分析平台中,支撑简历解析、人岗匹配、智能推荐等模块的数据底座建设。


本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 16:59:53

从教室预约到项目排期:PTA会议安排题的动态规划解法,在真实开发中怎么用?

从算法题到工程实践&#xff1a;动态规划在资源调度中的高阶应用会议室预订系统崩溃了——这是上周我们团队遭遇的第三次生产事故。当并发请求量突破每秒5000次时&#xff0c;基于简单时间窗口检测的调度算法彻底失效&#xff0c;导致同一会议室被重复预订了17次。这让我意识到…

作者头像 李华
网站建设 2026/6/12 16:55:53

量子物理信息神经网络在多物种反应扩散系统中的应用

1. 量子物理信息神经网络在多物种反应扩散系统中的应用解析在计算生物学和复杂系统建模领域&#xff0c;反应扩散系统&#xff08;Reaction-Diffusion Systems&#xff09;一直扮演着关键角色。这类偏微分方程&#xff08;PDEs&#xff09;能够描述从细胞信号传导到生态种群动态…

作者头像 李华
网站建设 2026/6/12 16:52:03

EdgeRemover:专业级Windows Edge浏览器卸载与重装工具使用指南

EdgeRemover&#xff1a;专业级Windows Edge浏览器卸载与重装工具使用指南 【免费下载链接】EdgeRemover A PowerShell script that correctly uninstalls or reinstalls Microsoft Edge on Windows 10 & 11. 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeRemover …

作者头像 李华
网站建设 2026/6/12 16:51:52

Windows 10终极卸载OneDrive指南:三步告别系统卡顿与空间占用

Windows 10终极卸载OneDrive指南&#xff1a;三步告别系统卡顿与空间占用 【免费下载链接】OneDrive-Uninstaller Batch script to completely uninstall OneDrive in Windows 10 项目地址: https://gitcode.com/gh_mirrors/on/OneDrive-Uninstaller 你是否厌倦了Window…

作者头像 李华