微众银行笔试--java开发

2024-03-15 12:38
文章标签 java 笔试 开发 银行 微众

本文主要是介绍微众银行笔试--java开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

问题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;}@Overridepublic 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号是否已经被注册



这篇关于微众银行笔试--java开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/812015

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte