对学习部的看法?

时间:2024-06-29 01:47 人气:0 编辑:admin

一、对学习部的看法?

学生会学习部是在校团委领导下、学校学生会指导下,隶属于学校学生会的学生组织学生会下设的部门之一。学习部主管学风建设和学术活动,以提高同学们学习意识、营造校园学习氛围为目的,开展各种同学喜闻乐见的活动,筹办学术讲座,了解反馈广大同学在学习方面的意见和要求,在师生之间搭起一座桥梁,促进师生的相互交流。   内部工作   

1. 学习部例会。学习部一贯坚持学习部内部例会制度并不定期的召开学习部例会。主要内容涉及每个成员各自分配的任务的进展情况,有什么问题或困难,以及活动结束后的总结,包括成绩和不足,对不足的改进等方面。对提出的问题全体成员集思广益,争取把工作做得更好,把最好的服务献给大家。   

2. 学习部日常工作由于学习部是一个与每位同学日常学习生活息息相关的部门,所以学风建设是学习部本学期的工作重心之一。学风建设是一个持续且须循序渐进的过程,不可能冀望于一朝一夕就从根本上解决问题。因此,我们采用了通过实施严格的考勤制度来对同学们的日常学习生活加以约束的方法来帮助大家养成良好的学习习惯。   

3. 抽查各班的上课迟到情况。   

4. 检查各班晚自习出勤率。   

5. 收授课表授课日志考察同学们的考勤情况。   

6. 严抓学习纪律,制订详细的《考勤制度》,严把考勤关。   

7. 辅导学习委员做好相关的工作安排,为每个班级的学习考试做出相关指示。   

8. 安排不及格学生进行补考和重修考试,对其的考试做出指示。   外部工作   1. 开展形式多样的知识竞赛。   2. 邀请学校或举办各种与学习有关的专题讲座或报告会,开拓同学的学术视野。   3. 举办各种经验交流活动,如读书活动心得交流会,新老学生学习交流会、思想交流会等。   4. 加强师生之间的沟通与了解,做好“教”,“学”双方的信息反馈工作,配合学校工作的顺利进行。定时了解并解决学生中学习上的问题,协助有关部门抓好学风建设,参加“评教”活动,积极反映学生对学校教学、教育工作的要求和意见,并及时向教务处反馈。   5. 负责学校各类社团组织工作的指导与建设。   6. 举办一些辩论赛、英语口语比赛等学术性比赛。

二、学习部都干什么?

以下是学习部可能承担的一些具体任务:

1. 设计和实施培训课程:根据组织和学员的需求,制定培训计划和目标,并开发和实施相应的课程。

2. 培训交付:组织内部或外部培训师,安排培训时间和地点,确保培训按计划进行。

3. 资源管理:收集、整理和开发各种学习资源,如教材、案例研究、在线课程等,以便学员和学习者能够轻松访问。

4. 评估和认证:制定评估标准和方法,评估学员和学习者的学习和进步,颁发相应的证书和认证。

5. 跟踪和反馈:跟踪学员和学习者的反馈,了解他们的需求和满意度,以便对培训课程和内容进行改进。

6. 员工发展和职业规划:帮助员工制定职业发展规划,提供升职、转岗等方面的培训和支持。

7. 培训记录和数据分析:保存培训记录,进行数据收集和分析,以便更好地了解培训效果。

8. 持续改进:根据评估和反馈结果,不断优化培训课程和教学方式,提高培训质量和效果。

9. 与其他部门合作:与其他部门(如人力资源部、研发部等)合作,确保培训与组织和员工的需求相一致。

10. 创新与研究:关注培训行业的最新动态,探索新的培训方法和技术,提高培训水平。

三、为什么加入学习部?

一般在学生会部门工作总结或者纳新面试的时候会问到为什么加入学生会的学习部。一般从几个方面来回答说明:

1、学生会大平台。学生会作为学生干部的集中地,是个学校内可以更好学习和交流的大平台,适合愿意努力奋斗的学生加入。这样一个平台很吸引人。

2、学习部的工作内容。这一点要先做好功课,知道学生部的职能是什么,从这个角度重点入手,说明对这一块工作比较熟悉和感兴趣,觉得可以帮到自己和别人,是很值得很有意义的事情。

3、表明工作学习两不误。学生会学习部是在校团委领导下、学校学生会指导下,隶属于学校学生会的学生组织学生会下设的部门之一。学习部主管学风建设和学术活动,以提高同学们学习意识、营造校园学习氛围为目的,开展各种同学喜闻乐见的活动,筹办学术讲座,了解反馈广大同学在学习方面的意见和要求,在师生之间搭起一座桥梁,促进师生的相互交流。

四、学习部感想

学习部感想

引言

学习是一个永不停歇的过程,它贯穿我们的一生。作为一个职业人士,我们时刻都要积极地学习和成长,以保持竞争力和适应不断变化的环境。自进入学习部以来,我经历了许多学习机会和挑战,今天我想借此机会分享一些学习部的感想。

多样的学习机会

学习部为我们提供了丰富多样的学习机会,可以满足不同领域和层次的学习需求。无论是通过专业培训课程、内部研讨会还是与同事的交流,我们都有机会不断学习新知识、技能和经验。这些机会让我们能够持续发展并不断提升自己。

合作与团队精神

学习部注重团队合作和协作精神的培养。我们经常会组织团队项目和活动,让我们能够合作解决问题、分享经验和互相学习。通过这些团队合作,我们能够更好地理解彼此,并共同实现学习目标。团队精神的培养不仅提高了学习效果,还增强了团队的凝聚力和协同能力。

技能提升与职业发展

学习部不仅提供了各种学习机会,还关注员工的技能提升和职业发展。我们可以参加各种培训课程,学习和掌握专业知识和技能。此外,学习部还会定期评估员工的职业发展需求,并提供相关的支持和指导。通过学习部的支持和帮助,我们能够提升自己的竞争力,并更好地应对职业发展的挑战。

知识分享与传承

学习部鼓励知识分享和传承,这对于组织来说至关重要。我们经常组织内部研讨会和分享会,让有经验和专业知识的同事能够与其他人分享自己的见解和经验。这种知识传承的方式非常有效,它不仅有助于培养新人,还能够提升整个团队的知识水平和能力。

自我激励与追求卓越

在学习部,我们被鼓励保持自我激励和追求卓越的精神。学习部提供了各种学习资源和支持,但最终取决于个人的自我驱动和努力。我们要不断挑战自己,超越舒适区,追求个人的卓越和成长。这种自我激励精神对于个人的发展和组织的成功都非常关键。

结论

学习部为我们提供了一个良好的学习和成长平台,让我们能够不断发展和进步。通过多样的学习机会、团队合作、技能提升、知识分享和自我激励,我们可以不断提升自己的能力和竞争力。回顾学习部的感想,我深深感受到学习的重要性和能够带来的巨大收益。让我们珍惜学习机会,积极学习,不断成长!

五、大学的学习部主要负责什么?

大学学生会学习部的一般职责是引导新一代大学生的学习观念,为其树立正确的学习观”是学习部在新千年的任务。学习部的本职工作包括举办各种形式和规模的报告会、大型的辨论赛、演讲会及学习经验交流会等。本部的主要职责如下:

1、举办具有学校特色的学术讲座和学习经验交流会;

2、开展各类专业技能竞赛;

3、关注专业发展动态,反馈前沿信息;

4、负责各学期奖学金评定工作;

5、负责搜集电脑拥有量,英语、计算机过级率和考试及格率等情况;

6、收集和了解同学对教学的意见和要求,及时向学校教学秘书反映;

7、完成其他工作。

六、学生会学习部申请原因?

一是对学习的热爱;

二是希望起到模范作用让大家爱学习,做个有用的人,多学知识;

三是更好的锻练自己。

七、团委学习部面试自我介绍?

首先对个人的基本信息进行自我介绍,其次对为什么参加团委学习部的应聘及自己有哪些与之相匹配的优势进行详细介绍,最后对自己如果有幸通过了面试今后会怎么做进行描述

八、大学学习部

大学学习部:探索知识与成长的殿堂

在大学里,学习部是一个非常重要的组织,它为广大学生提供了一个探索知识与成长的平台。学习部不仅为学生们提供了丰富的学术资源,还为他们创造了一个互相学习、交流的平台。在这里,学生们可以结交新朋友,拓展自己的视野,提高自己的综合素质。

作为大学学习部的一员,你将有机会参加各种学术讲座、研讨会、交流会等活动。这些活动将帮助你了解最新的学术动态,拓宽你的知识面,提高你的学术水平。此外,你还可以与其他学生一起探讨问题,交流经验,共同成长。这些经历将使你更加自信,更加勇敢地面对未来的挑战。

在学习部中,你将有机会担任各种职务,如部长、副部长、干事等。这些职务将使你得到锻炼,提高你的组织能力、领导能力、沟通能力等。此外,你还可以通过与不同专业、不同背景的学生合作,拓展自己的人脉,为未来的发展打下坚实的基础。

大学学习部是一个充满机遇和挑战的组织。在这里,你可以收获友谊、知识、能力和成长。如果你热爱学习、勇于挑战、乐于助人,那么加入大学学习部将是一个非常不错的选择。

如何加入大学学习部

如果你想加入大学学习部,可以向所在院系的学生会办公室咨询,了解学习部的招新时间和报名方式。一般来说,招新时间会在新生入学后的几个月内进行,报名方式可以通过现场报名、网上报名或电话报名等方式进行。在报名时,你需要提供个人基本信息、特长和兴趣爱好等,以便学习部更好地了解你的情况。

加入大学学习部需要一定的时间和精力投入,但只要你认真对待,努力学习,积极进取,就一定能够取得丰硕的成果。相信在不久的将来,你将成为学习部的骨干力量,为学习部的发展和同学们的成长做出贡献。

九、mahout面试题?

之前看了Mahout官方示例 20news 的调用实现;于是想根据示例的流程实现其他例子。网上看到了一个关于天气适不适合打羽毛球的例子。

训练数据:

Day Outlook Temperature Humidity Wind PlayTennis

D1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D3 Overcast Hot High Weak Yes

D4 Rain Mild High Weak Yes

D5 Rain Cool Normal Weak Yes

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Strong Yes

D8 Sunny Mild High Weak No

D9 Sunny Cool Normal Weak Yes

D10 Rain Mild Normal Weak Yes

D11 Sunny Mild Normal Strong Yes

D12 Overcast Mild High Strong Yes

D13 Overcast Hot Normal Weak Yes

D14 Rain Mild High Strong No

检测数据:

sunny,hot,high,weak

结果:

Yes=》 0.007039

No=》 0.027418

于是使用Java代码调用Mahout的工具类实现分类。

基本思想:

1. 构造分类数据。

2. 使用Mahout工具类进行训练,得到训练模型。

3。将要检测数据转换成vector数据。

4. 分类器对vector数据进行分类。

接下来贴下我的代码实现=》

1. 构造分类数据:

在hdfs主要创建一个文件夹路径 /zhoujainfeng/playtennis/input 并将分类文件夹 no 和 yes 的数据传到hdfs上面。

数据文件格式,如D1文件内容: Sunny Hot High Weak

2. 使用Mahout工具类进行训练,得到训练模型。

3。将要检测数据转换成vector数据。

4. 分类器对vector数据进行分类。

这三步,代码我就一次全贴出来;主要是两个类 PlayTennis1 和 BayesCheckData = =》

package myTesting.bayes;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.util.ToolRunner;

import org.apache.mahout.classifier.naivebayes.training.TrainNaiveBayesJob;

import org.apache.mahout.text.SequenceFilesFromDirectory;

import org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles;

public class PlayTennis1 {

private static final String WORK_DIR = "hdfs://192.168.9.72:9000/zhoujianfeng/playtennis";

/*

* 测试代码

*/

public static void main(String[] args) {

//将训练数据转换成 vector数据

makeTrainVector();

//产生训练模型

makeModel(false);

//测试检测数据

BayesCheckData.printResult();

}

public static void makeCheckVector(){

//将测试数据转换成序列化文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"testinput";

String output = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

String[] params = new String[]{"-i",input,"-o",output,"-ow"};

ToolRunner.run(sffd, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("文件序列化失败!");

System.exit(1);

}

//将序列化文件转换成向量文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

String output = WORK_DIR+Path.SEPARATOR+"tennis-test-vectors";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

ToolRunner.run(svfsf, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("序列化文件转换成向量失败!");

System.out.println(2);

}

}

public static void makeTrainVector(){

//将测试数据转换成序列化文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"input";

String output = WORK_DIR+Path.SEPARATOR+"tennis-seq";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

String[] params = new String[]{"-i",input,"-o",output,"-ow"};

ToolRunner.run(sffd, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("文件序列化失败!");

System.exit(1);

}

//将序列化文件转换成向量文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-seq";

String output = WORK_DIR+Path.SEPARATOR+"tennis-vectors";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

ToolRunner.run(svfsf, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("序列化文件转换成向量失败!");

System.out.println(2);

}

}

public static void makeModel(boolean completelyNB){

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-vectors"+Path.SEPARATOR+"tfidf-vectors";

String model = WORK_DIR+Path.SEPARATOR+"model";

String labelindex = WORK_DIR+Path.SEPARATOR+"labelindex";

Path in = new Path(input);

Path out = new Path(model);

Path label = new Path(labelindex);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

if(fs.exists(label)){

//boolean参数是,是否递归删除的意思

fs.delete(label, true);

}

TrainNaiveBayesJob tnbj = new TrainNaiveBayesJob();

String[] params =null;

if(completelyNB){

params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow","-c"};

}else{

params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow"};

}

ToolRunner.run(tnbj, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("生成训练模型失败!");

System.exit(3);

}

}

}

package myTesting.bayes;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import org.apache.commons.lang.StringUtils;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.fs.PathFilter;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.mahout.classifier.naivebayes.BayesUtils;

import org.apache.mahout.classifier.naivebayes.NaiveBayesModel;

import org.apache.mahout.classifier.naivebayes.StandardNaiveBayesClassifier;

import org.apache.mahout.common.Pair;

import org.apache.mahout.common.iterator.sequencefile.PathType;

import org.apache.mahout.common.iterator.sequencefile.SequenceFileDirIterable;

import org.apache.mahout.math.RandomAccessSparseVector;

import org.apache.mahout.math.Vector;

import org.apache.mahout.math.Vector.Element;

import org.apache.mahout.vectorizer.TFIDF;

import com.google.common.collect.ConcurrentHashMultiset;

import com.google.common.collect.Multiset;

public class BayesCheckData {

private static StandardNaiveBayesClassifier classifier;

private static Map<String, Integer> dictionary;

private static Map<Integer, Long> documentFrequency;

private static Map<Integer, String> labelIndex;

public void init(Configuration conf){

try {

String modelPath = "/zhoujianfeng/playtennis/model";

String dictionaryPath = "/zhoujianfeng/playtennis/tennis-vectors/dictionary.file-0";

String documentFrequencyPath = "/zhoujianfeng/playtennis/tennis-vectors/df-count";

String labelIndexPath = "/zhoujianfeng/playtennis/labelindex";

dictionary = readDictionnary(conf, new Path(dictionaryPath));

documentFrequency = readDocumentFrequency(conf, new Path(documentFrequencyPath));

labelIndex = BayesUtils.readLabelIndex(conf, new Path(labelIndexPath));

NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), conf);

classifier = new StandardNaiveBayesClassifier(model);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("检测数据构造成vectors初始化时报错。。。。");

System.exit(4);

}

}

/**

* 加载字典文件,Key: TermValue; Value:TermID

* @param conf

* @param dictionnaryDir

* @return

*/

private static Map<String, Integer> readDictionnary(Configuration conf, Path dictionnaryDir) {

Map<String, Integer> dictionnary = new HashMap<String, Integer>();

PathFilter filter = new PathFilter() {

@Override

public boolean accept(Path path) {

String name = path.getName();

return name.startsWith("dictionary.file");

}

};

for (Pair<Text, IntWritable> pair : new SequenceFileDirIterable<Text, IntWritable>(dictionnaryDir, PathType.LIST, filter, conf)) {

dictionnary.put(pair.getFirst().toString(), pair.getSecond().get());

}

return dictionnary;

}

/**

* 加载df-count目录下TermDoc频率文件,Key: TermID; Value:DocFreq

* @param conf

* @param dictionnaryDir

* @return

*/

private static Map<Integer, Long> readDocumentFrequency(Configuration conf, Path documentFrequencyDir) {

Map<Integer, Long> documentFrequency = new HashMap<Integer, Long>();

PathFilter filter = new PathFilter() {

@Override

public boolean accept(Path path) {

return path.getName().startsWith("part-r");

}

};

for (Pair<IntWritable, LongWritable> pair : new SequenceFileDirIterable<IntWritable, LongWritable>(documentFrequencyDir, PathType.LIST, filter, conf)) {

documentFrequency.put(pair.getFirst().get(), pair.getSecond().get());

}

return documentFrequency;

}

public static String getCheckResult(){

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String classify = "NaN";

BayesCheckData cdv = new BayesCheckData();

cdv.init(conf);

System.out.println("init done...............");

Vector vector = new RandomAccessSparseVector(10000);

TFIDF tfidf = new TFIDF();

//sunny,hot,high,weak

Multiset<String> words = ConcurrentHashMultiset.create();

words.add("sunny",1);

words.add("hot",1);

words.add("high",1);

words.add("weak",1);

int documentCount = documentFrequency.get(-1).intValue(); // key=-1时表示总文档数

for (Multiset.Entry<String> entry : words.entrySet()) {

String word = entry.getElement();

int count = entry.getCount();

Integer wordId = dictionary.get(word); // 需要从dictionary.file-0文件(tf-vector)下得到wordID,

if (StringUtils.isEmpty(wordId.toString())){

continue;

}

if (documentFrequency.get(wordId) == null){

continue;

}

Long freq = documentFrequency.get(wordId);

double tfIdfValue = tfidf.calculate(count, freq.intValue(), 1, documentCount);

vector.setQuick(wordId, tfIdfValue);

}

// 利用贝叶斯算法开始分类,并提取得分最好的分类label

Vector resultVector = classifier.classifyFull(vector);

double bestScore = -Double.MAX_VALUE;

int bestCategoryId = -1;

for(Element element: resultVector.all()) {

int categoryId = element.index();

double score = element.get();

System.out.println("categoryId:"+categoryId+" score:"+score);

if (score > bestScore) {

bestScore = score;

bestCategoryId = categoryId;

}

}

classify = labelIndex.get(bestCategoryId)+"(categoryId="+bestCategoryId+")";

return classify;

}

public static void printResult(){

System.out.println("检测所属类别是:"+getCheckResult());

}

}

十、webgis面试题?

1. 请介绍一下WebGIS的概念和作用,以及在实际应用中的优势和挑战。

WebGIS是一种基于Web技术的地理信息系统,通过将地理数据和功能以可视化的方式呈现在Web浏览器中,实现地理空间数据的共享和分析。它可以用于地图浏览、空间查询、地理分析等多种应用场景。WebGIS的优势包括易于访问、跨平台、实时更新、可定制性强等,但也面临着数据安全性、性能优化、用户体验等挑战。

2. 请谈谈您在WebGIS开发方面的经验和技能。

我在WebGIS开发方面有丰富的经验和技能。我熟悉常用的WebGIS开发框架和工具,如ArcGIS API for JavaScript、Leaflet、OpenLayers等。我能够使用HTML、CSS和JavaScript等前端技术进行地图展示和交互设计,并能够使用后端技术如Python、Java等进行地理数据处理和分析。我还具备数据库管理和地理空间数据建模的能力,能够设计和优化WebGIS系统的架构。

3. 请描述一下您在以往项目中使用WebGIS解决的具体问题和取得的成果。

在以往的项目中,我使用WebGIS解决了许多具体问题并取得了显著的成果。例如,在一次城市规划项目中,我开发了一个基于WebGIS的交通流量分析系统,帮助规划师们评估不同交通方案的效果。另外,在一次环境监测项目中,我使用WebGIS技术实现了实时的空气质量监测和预警系统,提供了准确的空气质量数据和可视化的分析结果,帮助政府和公众做出相应的决策。

4. 请谈谈您对WebGIS未来发展的看法和期望。

我认为WebGIS在未来会继续发展壮大。随着云计算、大数据和人工智能等技术的不断进步,WebGIS将能够处理更大规模的地理数据、提供更丰富的地理分析功能,并与其他领域的技术进行深度融合。我期望未来的WebGIS能够更加智能化、个性化,为用户提供更好的地理信息服务,助力各行各业的决策和发展。

相关资讯
热门频道

Copyright © 2024 招聘街 滇ICP备2024020316号-38