根据点赞数量和回帖数量统计推荐用户方式接口排序

package com.microsoft.aiRecmandation;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.UUID;

public class AIRecomandationController {

	public static void main(String[] args) {
		System.out.println("Hello world!");
	}
	
	//根据点赞数量和回帖数量统计推荐用户方式接口排序
	public static List<OpenToPublicLeaderBoardUser> getAIRecomandationUserList(List<RetGoodAndReplyStatistic> retGoodAndReplyStatisticList) {
		if(retGoodAndReplyStatisticList==null) {
			return null;
		}
		if(retGoodAndReplyStatisticList.isEmpty()) {
			return null;
		}
		List<CustomerRetGoodAndReplyStatistic> custRetGoodAndReplyStatisticList=new ArrayList<CustomerRetGoodAndReplyStatistic>();
		for(RetGoodAndReplyStatistic retGoodAndReplyStatistic : retGoodAndReplyStatisticList) {
			Integer goodTypeTagCount = retGoodAndReplyStatistic.getGoodTypeTagCount();
			Integer replyTypeTagCount = retGoodAndReplyStatistic.getReplyTypeTagCount();
			int goodTypeTagCountPlusReplyCount=goodTypeTagCount+replyTypeTagCount;
			CustomerRetGoodAndReplyStatistic custRetGoodAndReplyStatistic=new CustomerRetGoodAndReplyStatistic();
			custRetGoodAndReplyStatistic.setId(UUID.randomUUID().toString());
			custRetGoodAndReplyStatistic.setName("");
			custRetGoodAndReplyStatistic.setGoodTypeTagCountPlusReplyCount(goodTypeTagCountPlusReplyCount);
			custRetGoodAndReplyStatistic.setRetGoodAndReplyStatisticId("");
			custRetGoodAndReplyStatisticList.add(custRetGoodAndReplyStatistic);
		}
		Collections.sort(custRetGoodAndReplyStatisticList,new Comparator<CustomerRetGoodAndReplyStatistic>() {
			@Override
			public int compare(CustomerRetGoodAndReplyStatistic o1, CustomerRetGoodAndReplyStatistic o2) {
				// TODO Auto-generated method stub
				if(o1.getGoodTypeTagCountPlusReplyCount()>o2.getGoodTypeTagCountPlusReplyCount()) {
					return 1;
				}else if(o1.getGoodTypeTagCountPlusReplyCount()<o2.getGoodTypeTagCountPlusReplyCount()) {
					return -1;
				}
				return 0;
			}
		});
		// fixd leader board items data consume to be a blank
		LeaderBoardZoneInjection leaderBoardInjection=new LeaderBoardZoneInjection();
		leaderBoardInjection.setId(UUID.randomUUID().toString());
		leaderBoardInjection.setName("leaderBoardInjection");
		LeaderBoard leaderBoard=new LeaderBoard();
		leaderBoard.setId(UUID.randomUUID().toString());
		leaderBoard.setName("leaderBoard");
		leaderBoard.setLeaderBoardInjectionId(leaderBoardInjection.getId());
		FixedLeaderBoard fixedLeaderBoard=new FixedLeaderBoard();
		fixedLeaderBoard.setId(UUID.randomUUID().toString());
		fixedLeaderBoard.setName("fixedLeaderBoard");
		fixedLeaderBoard.setLeaderBoardId(leaderBoard.getId());
		// add a customer injection scanne
		CustomerScanne customerScanne=new CustomerScanne();
		customerScanne.setId(UUID.randomUUID().toString());
		customerScanne.setName("customerScanne");
		customerScanne.setLeaderBoardZoneInjectionId(leaderBoardInjection.getId());
		OpenToPublicLeaderBoardUser openToPublicLeaderBoardUser=new OpenToPublicLeaderBoardUser();
		openToPublicLeaderBoardUser.setId(UUID.randomUUID().toString());
		openToPublicLeaderBoardUser.setName("openToPublicLeaderBoardUser");
		// first time get open to public user and innicialize leader board with 4 items data leader board
		// this is using gpt data retraining method to get experienced data leader board
		CustomerRetGoodAndReplyStatistic custRetGoodAndReplyStatistic=custRetGoodAndReplyStatisticList.get(0);
		Integer goodTypeTagCountPlusReplyCount0 = custRetGoodAndReplyStatistic.getGoodTypeTagCountPlusReplyCount();
		CustomerRetGoodAndReplyStatistic custRetGoodAndReplyStatistic1=custRetGoodAndReplyStatisticList.get(1);
		Integer goodTypeTagCountPlusReplyCount1 = custRetGoodAndReplyStatistic1.getGoodTypeTagCountPlusReplyCount();
		CustomerRetGoodAndReplyStatistic custRetGoodAndReplyStatistic2=custRetGoodAndReplyStatisticList.get(2);
		Integer goodTypeTagCountPlusReplyCount2 = custRetGoodAndReplyStatistic2.getGoodTypeTagCountPlusReplyCount();
		CustomerRetGoodAndReplyStatistic custRetGoodAndReplyStatistic3=custRetGoodAndReplyStatisticList.get(3);
		Integer goodTypeTagCountPlusReplyCount3 = custRetGoodAndReplyStatistic3.getGoodTypeTagCountPlusReplyCount();
		//log first versiton 1.0 innicialized
		Log log=new Log();
		log.setId(UUID.randomUUID().toString());
		log.setName("log first versiton 1.0 innicialized");
		log.setLogRecordContent("logRecodrContent");
		log.setOpenToPublicLeaderBoardUserLeaaderBoar_MoreDetailId("");
		return null;
	}
}
class CustomerRetGoodAndReplyStatistic{
	private String id;
	private String name;
	private Integer goodTypeTagCountPlusReplyCount;
	private String retGoodAndReplyStatisticId;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getGoodTypeTagCountPlusReplyCount() {
		return goodTypeTagCountPlusReplyCount;
	}
	public void setGoodTypeTagCountPlusReplyCount(Integer goodTypeTagCountPlusReplyCount) {
		this.goodTypeTagCountPlusReplyCount = goodTypeTagCountPlusReplyCount;
	}
	public String getRetGoodAndReplyStatisticId() {
		return retGoodAndReplyStatisticId;
	}
	public void setRetGoodAndReplyStatisticId(String retGoodAndReplyStatisticId) {
		this.retGoodAndReplyStatisticId = retGoodAndReplyStatisticId;
	}
}
//generate leader board data: zone injection this module
class LeaderBoardZoneInjection{
	private String id;
	private String name;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
class LeaderBoard{
	private String id;
	private String name;
	private String leaderBoardInjectionId;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getLeaderBoardInjectionId() {
		return leaderBoardInjectionId;
	}
	public void setLeaderBoardInjectionId(String leaderBoardInjectionId) {
		this.leaderBoardInjectionId = leaderBoardInjectionId;
	}
}
//get climbing leader board entity: how to generate this climbing leader board
class FixedLeaderBoard{
	private String id;
	private String name;
	private String leaderBoardId;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getLeaderBoardId() {
		return leaderBoardId;
	}
	public void setLeaderBoardId(String leaderBoardId) {
		this.leaderBoardId = leaderBoardId;
	}
}
class CustomerScanne{
	private String id;
	private String name;
	private String LeaderBoardZoneInjectionId;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getLeaderBoardZoneInjectionId() {
		return LeaderBoardZoneInjectionId;
	}
	public void setLeaderBoardZoneInjectionId(String leaderBoardZoneInjectionId) {
		LeaderBoardZoneInjectionId = leaderBoardZoneInjectionId;
	}
}
class LeaderBoardZoneInjectionCustomerScannerLog{
	private String id;
	private String name;
	private String LeaderBoardZoneInjectionId;
	private String customerScannneId;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getLeaderBoardZoneInjectionId() {
		return LeaderBoardZoneInjectionId;
	}
	public void setLeaderBoardZoneInjectionId(String leaderBoardZoneInjectionId) {
		LeaderBoardZoneInjectionId = leaderBoardZoneInjectionId;
	}
	public String getCustomerScannneId() {
		return customerScannneId;
	}
	public void setCustomerScannneId(String customerScannneId) {
		this.customerScannneId = customerScannneId;
	}
}
class OpenToPublicLeaderBoardUser{
	private String id;
	private String name;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
class LeaderBoard_{
	private String id;
	private String fixedLeaderBoardId;
	private String leaderBoardId;// this leader board is very experienced
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getFixedLeaderBoardId() {
		return fixedLeaderBoardId;
	}
	public void setFixedLeaderBoardId(String fixedLeaderBoardId) {
		this.fixedLeaderBoardId = fixedLeaderBoardId;
	}
	public String getLeaderBoardId() {
		return leaderBoardId;
	}
	public void setLeaderBoardId(String leaderBoardId) {
		this.leaderBoardId = leaderBoardId;
	}
}
class OpenToPublicLeaderBoardUserLeaderBoard_MoreDetail{
	private String id;
	private String name;
	private String openToPublicLeaderBoardUserId;
	private String leaderBoard__Id;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getOpenToPublicLeaderBoardUserId() {
		return openToPublicLeaderBoardUserId;
	}
	public void setOpenToPublicLeaderBoardUserId(String openToPublicLeaderBoardUserId) {
		this.openToPublicLeaderBoardUserId = openToPublicLeaderBoardUserId;
	}
	public String getLeaderBoard__Id() {
		return leaderBoard__Id;
	}
	public void setLeaderBoard__Id(String leaderBoard__Id) {
		this.leaderBoard__Id = leaderBoard__Id;
	}
}
//here will generate some web 4.0 data and can analyse to be referrenced to statistic user list data
class Log{
	private String id;
	private String name;
	private String logRecordContent;//RetGoodAndReplyStatistic
	private String openToPublicLeaderBoardUserLeaaderBoar_MoreDetailId;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getLogRecordContent() {
		return logRecordContent;
	}
	public void setLogRecordContent(String logRecordContent) {
		this.logRecordContent = logRecordContent;
	}
	public String getOpenToPublicLeaderBoardUserLeaaderBoar_MoreDetailId() {
		return openToPublicLeaderBoardUserLeaaderBoar_MoreDetailId;
	}
	public void setOpenToPublicLeaderBoardUserLeaaderBoar_MoreDetailId(
			String openToPublicLeaderBoardUserLeaaderBoar_MoreDetailId) {
		this.openToPublicLeaderBoardUserLeaaderBoar_MoreDetailId = openToPublicLeaderBoardUserLeaaderBoar_MoreDetailId;
	}
}
class RetGoodAndReplyStatistic {
	private String id;
	private String name;
	private String goodTypeTag;
	private String replyTypeTag;
	private Integer goodTypeTagCount;
	private Integer replyTypeTagCount;
	private String logId;

	public String getId() {
	    return id;
	}

	public void setId(String id) {
	    this.id = id;
	}

	public String getName() {
	    return name;
	}

	public void setName(String name) {
	    this.name = name;
	}

	public String getGoodTypeTag() {
	    return goodTypeTag;
	}

	public void setGoodTypeTag(String goodTypeTag) {
	    this.goodTypeTag = goodTypeTag;
	}

	public String getReplyTypeTag() {
	    return replyTypeTag;
	}

	public void setReplyTypeTag(String replyTypeTag) {
	    this.replyTypeTag = replyTypeTag;
	}

	public Integer getGoodTypeTagCount() {
	    return goodTypeTagCount;
	}

	public void setGoodTypeTagCount(Integer goodTypeTagCount) {
	    this.goodTypeTagCount = goodTypeTagCount;
	}

	public Integer getReplyTypeTagCount() {
	    return replyTypeTagCount;
	}

	public void setReplyTypeTagCount(Integer replyTypeTagCount) {
	    this.replyTypeTagCount = replyTypeTagCount;
	}

	public String getLogId() {
		return logId;
	}

	public void setLogId(String logId) {
		this.logId = logId;
	}
}

#我的求职进度条##我与AI的日常##这个offer值得去吗?##想做Agent可以做哪些岗位?##面试官拷打AI项目都会问什么?#
Java技术 文章被收录于专栏

JavaEE技术 编程开发经验 企业通用技术

全部评论

相关推荐

第一次面腾讯,真的被压力麻了,没想到会问这么细。面了一个小时,就留10分钟手撕,手撕还是写脚本,最后也没撕出来。大厂的面试官果然专业素质更高,对问题的剖析更加深刻,也算是好好的帮我对项目进行了扫盲。八股1.Ansible中的Paybook&nbsp;结构它主要有这几个核心部分?Roles&nbsp;是怎么划分的?2.K8s&nbsp;集群部署包含哪些组件?3.你了解&nbsp;kube-proxy&nbsp;在这里面的一个作用吗?kube-scheduler呢?项目一1.你提到“设计Node亲和性规则”,那你这里是怎么去设置这个亲和性的呢?2.你的pod你是用的时候是强的还是软的?3.就是说按节点破的密度从&nbsp;15&nbsp;提升到&nbsp;28&nbsp;个,除了那个亲和性,还有哪些去做这个优化呢?4.节点自动扩缩容是自动的吗?5.“解决Kafka在Kubernetes环境中因PVC回收导致的元数据丢失问题”,怎么解决的?6.Rook-Ceph的性能你有没有做过压力测试呢?追问:1.你把1000万的文件去测试,会执行什么命令,表现是什么2.面临这样的大量文件,你有什么优化思路吗7.然后你再运用那个&nbsp;Jenkins&nbsp;的&nbsp;slave&nbsp;port&nbsp;的实现弹性的一个任务执行,这相对那个传统的那个节点的话,就是你这里就是说动,比如说你会动态去拉起一个&nbsp;Pod&nbsp;嘛,对吧?然后在这里面自己执行&nbsp;Docker&nbsp;build&nbsp;的时候,是是这样的一个逻辑吗?那你就是&nbsp;&nbsp;Docker-in-Docker,&nbsp;是这意思吗?8.&nbsp;Docker-in-Docker存在的一些问题9.执行&nbsp;Docker-in-Docker&nbsp;时权限是怎么设置的呢?10.在网络上,跟宿主机会不会有一些冲突的一些问题?11.单次发布时间从&nbsp;40&nbsp;分钟缩短到&nbsp;8&nbsp;分钟,这个除了你的流水线之外,还做了哪些优化?12.当时你的Prometheus&nbsp;&nbsp;是用了什么来做存储的?13.了解Prometheus的数据淘汰吗14.EFK&nbsp;的那个日志采集,用&nbsp;Fluentd&nbsp;&nbsp;做过滤。比如说你的历史就是他是一个文本格式,是怎么去把他那里面的一些正则啊,address&nbsp;的这些变量把它转成&nbsp;json&nbsp;对象呢?15.EFK的日志又存在哪呢16.&nbsp;Fluentd采集完后,你的日志推向哪个组件17.&nbsp;Fluentd采集完后有堆积,哪些参数可以去缓解这个堆积呢?18.然后你在这个项目中,你觉得就说,最复杂的一次排障是什么?就是在你这个项目中。项目二1.第二个项目你就提到那个&nbsp;Nginx&nbsp;&nbsp;做&nbsp;7&nbsp;层的一个负载均衡分摊流量,那你具体这里用的是哪一种方法?2.MySQL&nbsp;主从复制搭建过程中,这个当时是全量数据初始化,还是说是增量呢?3.通过&nbsp;Mycat&nbsp;做读写分离,你这个是怎么去配置的呢?4.那读写分离比如说从库延迟比较大的,那你这个也对读写分离的影响是什么?5.假如mysql出故障了,你是手动切换,还是自动切换6.动态切换,它是基于哪个指标来做判断?7.你说你直接把从库宕机掉,当时挂掉之后再重新接上,怎么做数据恢复?8.数据恢复的时候从库如何命中到之前断开的位置9.Redis&nbsp;做session共享时需要配置哪些具体的参数呢?10.然后这里还有个是&nbsp;Mango&nbsp;DB&nbsp;存放日志,它是由&nbsp;Nginx&nbsp;&nbsp;直接写呢?还是说是在哪里写入的?11.那你说一下它整个过程是怎么样的?从&nbsp;Nginx&nbsp;&nbsp;产生日志到&nbsp;Mango,&nbsp;当时你们是怎么做的?
发面经攒人品
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务