精华内容
下载资源
问答
  • SQL —— 列转行。

    Content

    • 输入数据
    • 输出效果
    • 思路
    • 代码实现
    • 细节讨论

    ❤️ 「更多数据分析真题」
    数据分析真题日刷 | 目录索引

    ❤️ 「更多我的秋招经验贴」
    2020我的秋招总结帖 [数据分析岗] | 目录索引


    一、 输入数据

    表due 如下,数据自己生成的 ~

    在这里插入图片描述


    二、输出效果

    在这里插入图片描述


    三、思路

    • 在每个year下,对month分情况判断(month=1还是2还是3还是4),输出对应的amount;因此用CASE WHEN语句;
    • 关键点,除了对月份 CASE WHEN 分类判断,还需要对year处理,把同一年的amount 加总,这里用到SUM 和 GROUP BY。没明白没关系,可以转跳第五part 的讨论。

    四、代码实现

    SELECT 
    	year,
        SUM(CASE WHEN month = 1 THEN amount ELSE 0 END) AS m1,
        SUM(CASE WHEN month = 2 THEN amount ELSE 0 END) AS m2,
        SUM(CASE WHEN month = 3 THEN amount ELSE 0 END) AS m3,
        SUM(CASE WHEN month = 4 THEN amount ELSE 0 END) AS m4
    FROM due
    GROUP BY year;
    

    五、细节讨论

    我们讨论SUMGROUP BY 的作用。

    如果是下面这段代码,

    SELECT 
    	year,
        (CASE WHEN month = 1 THEN amount ELSE 0 END) AS m1,
        (CASE WHEN month = 2 THEN amount ELSE 0 END) AS m2,
        (CASE WHEN month = 3 THEN amount ELSE 0 END) AS m3,
        (CASE WHEN month = 4 THEN amount ELSE 0 END) AS m4
    FROM due;
    

    输出效果如下,
    在这里插入图片描述

    我考场上就是这么写的……,但是这种情况下,会按照每年每月分别一行,而不是按照年合并,因此需要将同一年的amount 加总,即SUM(amount),并且 GROUP BY year

    • 再次体会正确代码

    SELECT 
    	year,
        SUM(CASE WHEN month = 1 THEN amount ELSE 0 END) AS m1,
        SUM(CASE WHEN month = 2 THEN amount ELSE 0 END) AS m2,
        SUM(CASE WHEN month = 3 THEN amount ELSE 0 END) AS m3,
        SUM(CASE WHEN month = 4 THEN amount ELSE 0 END) AS m4
    FROM due
    GROUP BY year;
    
    
    • 正确输出
      在这里插入图片描述
    展开全文
  • 微众银行笔试题题目描述新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建...

    微众银行笔试题2020年秋招测试岗位矩形旋转与翻转题目

    题目描述

    平面上有一个矩形,大小为nxm,其中,长度为n的边是垂直的。长度为m的边是水平的,将矩形切割成nxm个小正方形,规定左上角的小正方形属性值为(1,1),左下角的小正方形属性值为(n,1),右上角的小正方形属性值为(1,m),右下角的小正方形属性值为(n,m),我们规定从上往下数第x行,从左往右数第y列的小正方形属性值为(x,y)。
    现在,我们对这个矩形进行如下操作,将其顺时针旋转90度x次,然后将其水平翻转y次,然后将其逆时针旋转90度z次,接着,我们对这个操作后的矩形按原始的思路重新标上属性值,每一个小正方形就有一个原来的属性值和新的属性值,然后有Q个询问,每一次询问一个原来属性值为(x,y)的小正方形的新属性值,你需要对所有询问作出回答。

    输入描述

    输入第一行包含三个数x,y,z,代表顺时针旋转,水平翻转,逆时针旋转的次数。
    接下来一行两个数,n,m代表原矩阵的大小。
    接下来一行一个数,Q代表询问次数。
    接下来Q行,每行两个数x,y代表一次询问,询问原矩形中属性值为(x,y)的小正方形现在的新属性值。
    1<=x,y,z<=10^6;1<=n,m,Q<=1000;1<=x<=n;1<=y<=m;

    输出描述

    输出包含Q行,每一行一个答案。
    示例:
    1 1 1
    4 5
    3
    1 1
    3 4
    2 5
    样例输出:
    4 1
    2 4
    3 5

    
    
    #include <iostream>
    //#include "math.h"
    #include <cmath>
    
    using namespace std;
    struct node
    {
        int x;
        int y;
    };
    
    int main()
    {
        int x1, y1, z1;
        int n, m;
        int Q;
        cin >> x1 >> y1 >> z1;
        cin >> n >> m;
        cin >> Q;
        int tempX = m / 2;
        int tempY = n / 2;
    
        // 查询若干次
        for (int i = 0; i < Q; i++)
        {
            int x0 = 0, y0 = 0;
            cin >> x0 >> y0;
            
            // 判断旋转时针方向
            // 逆时针
            if (z1 > x1)
            {
                // 次数
                int temp = z1 - x1;
    
                // 旋转后的坐标
                for (int j = 0; j < temp; j++)
                {
                    x0 = (x0 - tempX) * cos(1 / 2) - (y0 - tempY) * sin(1 / 2) + tempX;
                    y0 = (x0 - tempX) * sin(1 / 2) + (y0 - tempY) * cos(1 / 2) + tempY;
    
                }
    
                // 反转
                if (y1 % 2 == 0)
                {
                    cout << x0 << "---------" << y0 << endl;
                }
                else if (y1 % 2 == 1)
                {
                    x0 = (x0 - m) > 0 ? x0 - m : m - x0;
                    cout << x0 << "---------" << y0 << endl;
                }
            }
            // 顺时针
            else if (z1 < x1)
            {
                int temp = x1 - z1;
    
                // 旋转后的坐标
                for (int j = 0; j < temp; j++)
                {
                    x0 = (x0 - tempX) * cos(1 / 2) - (y0 - tempY) * sin(1 / 2) + tempX;
                    y0 = -(x0 - tempX) * sin(1 / 2) + (y0 - tempY) * cos(1 / 2) + tempY;
    
                }
    
                // 反转
                if (y1 % 2 == 0)
                {
                    cout << x0 << "---------" << y0 << endl;
                }
                else if (y1 % 2 == 1)
                {
                    x0 = (x0 - m) > 0 ? x0 - m : m - x0;
                    cout << x0 << "---------" << y0 << endl;
                }
            }
            // 不旋转
            else {
                // 反转
                if (y1 % 2 == 0)
                {
                    cout << x0 << "---------" << y0 << endl;
                }
                else if (y1 % 2 == 1)
                {
                    x0 = (x0 - m) > 0 ? x0 - m : m - x0;
                    cout << x0 << "---------" << y0 << endl;
                }
            }
        }
        return 0;
    
    }
    
    
    
    

    结果如下:
    在这里插入图片描述

    展开全文
  • 微众银行笔试--java开发

    千次阅读 2016-10-11 22:05:54
    今天下午参加了平安科技的见面会之后,晚上接着参加了微众银行的线下笔试。这样一天下来,其实挺累的。现在记录一下今天的一些心得体会。 平安科技见面会上一个搞技术开发的工作人员在分享经验时问了两个问题,让我...

    今天下午参加了平安科技的见面会之后,晚上接着参加了微众银行的线下笔试。这样一天下来,其实挺累的。现在记录一下今天的一些心得体会。

    平安科技见面会上一个搞技术开发的工作人员在分享经验时问了两个问题,让我记忆犹新。

    问题1:如果你有一个好的idea,你会怎么做?假如你是公司的一个员工。

    当时,我没太明白他的意思,后来经过他的提示后,才知道他问的是软件开发流程。

    首先,有了一个好的idea,要做市场调研和可行性分析。这样才能从老板或者投资方那里拿钱。

    然后呢,对于产品经理,需要做需求分析,给出产品原型。紧接着,项目经理需要给出项目的解决方案,比如开发中的人员分配。

    再接着,就是架构师出场,他需要做架构设计以及数据库设计,同时进行技术选型。

    接下来的事情就好办了,编程,测试,上线,运维等


    问题2:以下单例类如何改进?

    public class Singleton {
    	private Object instance = null;
    	public Singleton(){}
    	public  Object getInstance(Object object){
    		if(instance == null){
    			instance = new Object();
    		}
    		return instance;
    	}
    }

    在getInstance方法前加上synchronized关键字。因为当并发量比较大时,有可能两个线程同时访问该对象,此时可能创建两个单例对象。因此需要做同步处理


    接下来在说一说微众银行的面试题:

    第一题:写出1....N之和的函数,时间复杂度o(1)

    答:利用等差数列公式,Sn = n*(n+1)/2;

    第二题:求两个数中的较大者,该数可以是int,float,double,byte类型

    答:构造泛型类

    第三题:生产者消费者队列:三个生产者,两个消费者。

    package yy;
    
    public class ProduceConsume {
    	public static void main(String[] args) {
    		SysStack sysStack = new SysStack();
    		Producer producer = new Producer(sysStack);
    		Consume consume = new Consume(sysStack);
    		Thread tp = new Thread(producer);
    		Thread tc = new Thread(consume);
    		tp.start();
    		tc.start();
    	}
    }
    
    class SteamBread{
    	int id;//馒头编号
    	public SteamBread(int id) {
    		this.id = id;
    	}
    	public String toString(){
    		return "steamBread:"+id;
    	}
    }
    
    class SysStack{
    	int index = 0;
    	SteamBread[] stBreads = new SteamBread[6];
    	
    	//放入框中,相当于入栈
    	public synchronized void push(SteamBread sb){
    		while(index == stBreads.length){//栈满
    			try{
    				this.wait();//让当前线程等待
    			}catch(InterruptedException e){
    				e.printStackTrace();
    			}
    		}
    		this.notify();//唤醒在此对象监视上等待的单个线程,即消费者线程
    		stBreads[index]=sb;
    		this.index++;
    	}
    	//从框中拿出,相当于出栈
    	public synchronized SteamBread pop(){
    		while(index == 0){//栈空
    			try {
    				this.wait();//阻塞
    			} catch (InterruptedException e) {
    				e.printStackTrace();
    			}
    		}
    		this.notify();//唤醒
    		this.index--;
    		return stBreads[index];
    	}
    }
    
    class Consume implements Runnable{
    	SysStack sysStack = null;
    	public Consume(SysStack ss){
    		super();
    		this.sysStack = ss;
    	}
    	public void run(){
    		for(int i=0; i<20; i++){//开始消费馒头
    			SteamBread steamBread = sysStack.pop();
    			System.out.println("消费了"+steamBread);
    			try{
    				Thread.sleep(100);
    			}catch(InterruptedException e){
    				e.printStackTrace();
    			}
    		}
    	}
    }
    
    class Producer implements Runnable{
    	SysStack sysStack = null;
    	public Producer(SysStack ss) {
    		this.sysStack = ss;
    	}
    	@Override
    	public void run() {
    		//开始生产馒头
    		for(int i=0;i<20;i++){
    			SteamBread steamBread = new SteamBread(i);
    			sysStack.push(steamBread);
    			System.out.println("生产了"+steamBread);
    			try {
    				Thread.sleep(10);
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		}
    	}
    	
    }


    第四题:假设QQ号码为int型,如何快速查看某QQ号是否已经被注册



    展开全文
  • SELECT year, SUM(CASE WHEN month = 1 THEN amount ELSE 0 END) AS m1, SUM(CASE WHEN month = 2 THEN amount ELSE 0 END) AS m2, SUM(CASE WHEN month = 3 THEN amount ELSE 0 END) AS m3, ...

     

    SELECT 
        year,
        SUM(CASE WHEN month = 1 THEN amount ELSE 0 END) AS m1,
        SUM(CASE WHEN month = 2 THEN amount ELSE 0 END) AS m2,
        SUM(CASE WHEN month = 3 THEN amount ELSE 0 END) AS m3,
        SUM(CASE WHEN month = 4 THEN amount ELSE 0 END) AS m4
    FROM due
    GROUP BY year;

     

    展开全文
  • 微众银行Java后端笔试

    2020-10-15 20:58:27
    题目1.磁铁2.节奏小师3.数字的重排列 1.磁铁 2.节奏小师 3.数字的重排列
  • 尽管难度比较简单,但也需要准备充分呐。 题型分布: 选择题 20 * 2 + 编程题 20 * 3 选择题 1. java se 大概 十道题 ...2. 编译原理(不多不难,就是做不出来)、计算机基础、(离散数学?...* 他们总共有n个人,排成...
  • 刚做完,有点懵逼(好像投了风险策略岗,风控不太熟悉=_=) 一、选择题 (20*3分) 1.二叉树给出后序遍历和中序遍历,求前序遍历 2.概率题(队0,队1那个,我觉得考了有十遍了=_=) 3.简单的算法,对,全是机器...
  • 微众银行是第一家互联网银行,自2015年5月份以来,陆续推出微粒贷、微众银行APP、微车贷等产品以个人贷款和大众理财为主的普惠金融产品服务体系基本成型。同时,公司已经实现“去IOE”,构建了自己的科技架构和风控...
  • 平面上有一个矩形,大小为n×m,其中,长度为n的边是竖直的,长度为m的边是水平的。将矩形切割成n×m个小正方形,规定左上角的小正方形坐标为,左下角的小正方形坐标为,右上角的小正方形坐标为,右下角的小正方形坐标...
  • 微众银行面试题

    千次阅读 2019-06-27 14:55:55
    awk kill -9 发信号 线程如何优雅退出 grep查文件关键词 Java 类的生命周期 aop springboot 容器初始化 IOC varchar 和char 的区别 bigdicimal 初始化参数 having 加索引的规则 springboot的事务等级 ...
  • 昨天下午做了微众银行的Java开发在线笔试题,编程题一共三道,记录一下解答思路 第二题给的题目意思很绕,而且表达的意思也很复杂,感觉在做语文阅读理解,最后发现要表达的意思就是:一个数二进制有n位,那么确定这...
  • 笔试时间:2021年4月6日 笔试平台:赛码 二、笔试题型 单选+不定项选择题(10道) 问答题 (3道) 三、总结 选择题考的都是基础的js,html5,css3,还是挺简单的,但是复习的不是很充分,可能错了几题 问答题是三道...
  • 先上回忆版原题: 微众笔试1.用手机支付的人数量每天都在增加,把每天的数据综合起来,一年的数据组成一个向量{n1-n365},现在可以知道每天用手机支付的人的数量都比前一天多k,想要知道5.1和10.1的支付人数是否明显...
  • 昨天下午做了微众银行的Java开发在线笔试题,编程题一共三道,记录一下解答思路 第一题给的题目意思是给定一个数,求这个数阶乘结果的最后一个不为0的数为多少 例如: 10的阶乘为3628800 那么阶乘结果最后一个不为0...
  • 每一次面试都是无比珍贵的锻炼自己的机会。体力劳动者的面试官只需要知道应聘者身体健康即可,而 脑力劳动者不一样,我们...微众题型分为选择题(20*2分)+编程题(3*20分) 下面我只能凭我记忆了,因为选择题切换...
  • 昨天做了微众的前端实习生笔试,没考算法(这让算法是弱项的我体验极好),考了10道不定项选择,两道程序分析题 选择题考察的知识点都比较基础,但也有一些比较深层次并且偏门的,题目涉及了es6新特性(箭头函数),...
  • 第一题:玩游戏 题目描述 有一天,阳阳和他的小伙伴一起玩游戏! 他们总共有n个人,排成一圈,然后从第一个人开始依次报数,1,2,3,…报道m的人退出游戏,然后从下一个人开始重新从1报数,重复这个过程,直到只剩下...
  • #include<iostream> #include<map> #include<vector> using namespace std;...//dp为关联矩阵,dp[i]第i个点 //st为初始点,ed表示终点 //dp[i][0]=5,表示第i个点的第一个邻点为5 ...
  • 微众银行--java面试题一

    千次阅读 2019-04-17 15:09:43
    微众银行简介 1,腾讯微众银行(Webank)与传统商业银行有何不同? 2,百度百科 3,维基百科 一面: 1,项目相关 1.1自我介绍,项目 1.2 项目中的难点,怎么解决的 1.3 项目中有没有用到新技术 1.4 最近有...
  • 平安银行实习经 安永的实习经历 问我香港研究生一年的学制 在校成绩 简单问了我的项目 sql python和spss的水平 职业规划 有什么其他offer 毕业论文写的什么 有没有什么问题 二、总结 挂的...
  • 昨天分享了京东,今天来看看交通、微众银行面经。 在面试之前给大家看看我的简历以及个人简介部分,因为面试过程与自己的简历有很大关系。面试官往往会结合简历以及个人简介来问。 个人简历:梦想成真-----项目自我...
  • 分礼物 时间限制:C/C++语言 2000MS;其他语言 4000MS 内存限制:C/C++语言 131072KB;其他语言 655360KB 题目描述: 有n位小朋友去小明家里拜年,小明准备了m份礼物。小明想把所有礼物平均分给每个小朋友,每个小...
  • 2018微众银行春招后端开发实习题解

    千次阅读 2018-06-11 18:06:10
    第一题: /*有限域问题: *在n的范围内,某一个数是素数或者是素数的k次方(素数的k次方不一定还是素数), *则认为满足要求,求满足这样的数的个数。例如当n=37时,满足要求的数共19个: *2,3,4,5,7,8,9,11...
  • 2020.09.27@微众银行

    2020-09-27 21:34:26
    1.近似值查询 72% 近似值查询 时间限制: 4000MS 内存限制: 589824KB 题目描述: 给定一个长度为n的数组a,我们定义一个数x的近似值是在数组a中与x的差值的绝对值最小,如果两个数的绝对值相等,就取较小的那个。...
  • #大胃王吃东西,注意只能吃多不能吃少,不能留到之后的天数吃,原先理解错了导致只有18%的通过率,看了别人的解释懂了 “”"" 题目:大胃王第一天他只吃1单位的食物,但是第二天就会吃2单位,第三天就会吃3单位,...
  • 公司:微众银行 时长:约20分钟 问题: 1分钟自我介绍? 你遇到的最艰难的时刻? 压力大时如何缓解的? 个人爱好有哪些? 为什么选择测试这门工作? 成绩排名如何? 自己专业的对口工作有哪些? 研究...
  • 前端笔试记录

    2019-04-11 23:35:51
    这个真是被自己坑了,自己当时看书看到书上说尽量不要用eval(),就没关注eval(),笔试后好好看了一下eval() 首先,eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码 明确一下eval()不能在严格模式下...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 208
精华内容 83
关键字:

微众银行笔试