百融金服java工程师,百融金服面试题

1.Linux中,哪个命令能查看文件内容?

less

2.一个栈的入栈顺序是ABCD,则存在多少种可能的出栈顺序?

14种。

a)

A在最前,

ABCD

A进栈,A弹出,B进栈,B弹出,C进栈,C弹出,D进栈,D弹出。

ABDC

A进栈,A弹出,B进栈,B弹出,CD进栈, D弹出,C弹出。

ACBD

A进栈,A弹出,BC进栈,C弹出,B弹出,D进栈,D弹出。

ACDB

A进栈,A弹出,B进栈,C进栈,C弹出,D进栈,D弹出,最后弹出B。

ADCB

A进栈,A弹出,BCD进栈。反向弹出。

b)A在第二,

BACD

AB进栈,反向弹出。C进栈,C弹出。D进栈,D弹出。

BADC

AB进栈,反向弹出。CD进栈,反向弹出。

c)A在第三

CBAD

ABC进栈,反向弹出。D进栈,D弹出。

BCAD

AB进栈,弹出B,C进栈,弹出C。弹出A。D进栈。弹出D。

d)A在第四

DCBA

ABCD入栈,反向弹出。

CDBA

ABC进栈,C出栈。D进栈,D出栈。B出栈,A出栈。

CBDA

ABC进栈,C出栈,B出栈。D进栈,D出栈。A最后出栈。

BDCA

AB进栈,B出栈。CD进栈,D出栈。C出栈。A出栈。

BCDA

A进栈,B进栈,B出栈,C进栈,C出栈,D进栈,D出栈,A最后出栈。

一共是 5+5+2+2种,其他皆是不可能选择。

3.请写出下面java程序的运行结果。

package com.oracle.test;

import org.testng.annotations.Test;

public class OutputDemoTest {

@Test

void testOutputDemo() {

int a = 10;

System.out.println(a++); //10

System.out.println(++a); //12

System.out.println(a); //12

}

}

4.一个序列{1,13,17,24,38,46,58,67,72,89,93},若使用二分法查找72,至少需要比较多少次?

1,13,17,24,38,46,58,67,72,89,93

第一次,

left:0 right:10

(0+10) /2 = 5

第二次,

(5+10) /2 = 7

第三次,

(7+10)/2 = 8

三次。可以套公式,

2^x = 11

x = 3

5.有一个数据库表a,其id字段设置为自增,请写出sql,查询最新一条记录的所有信息。

select * from a where id in (select max(id) from a);

最简单暴力的方法,嵌套查询,不需要思考。

6.性能测试与压力测试的目的有何不同?两者的相似之处是?

压力测试和性能的测试的区别是在于他们不同的测试目的。

压力测试 是为了发现系统能支持的最大负载,他的前提是要求系统性能处在可以接受的范围内,比如经常规定的叶面3秒钟内响应 。

所以概括的说就是:在性能可以接受的前提下,测试系统可以支持的最大负载。

性能测试 是为了检查系统的反映,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100人同时在线的情况下的性能指标,每个用户是否都还可以正常的完成操作等。

所以概括的说就是:在不同负载下(负载一定)时,通过一些系统参数(如反应时间等)检查系统的运行情况。

7.你负责测试的app采用UIWebView方式加载H5页面,昨天上线后,今天客服接到大量投诉,山东省用户反馈出现页面加载缓慢现象,而其他省市未接到类似投诉。app本身面向全国用户,没有对地理区域做任何特殊对待。请尝试分析可能的原因。你会采取什么措施来尝试定位问题?

运营商网络存在问题。

尝试询问用户用的何种运营商网络。买一张和用户相同的sim卡,然后使用和用户相同的方式打开网页,看是否存在加载缓慢问题。

如果存在此问题,使用Package Capture抓手机流量包,查看分析在运营商相应相应网络下,到底是哪些加载较慢。比如css或者图片等等。看有没有优化的空间。

另外查出结果以后,需要配合开发一起解决这些问题。

8.编程题,

请认真审题。

1.使用Java/C/C++ 写一个程序:

这个程序的入参是一个字符串,如果这个字符串包含英文字母或空格之外的字符,直接返回原字符串。否则,

a) 处理每个被空格隔开的单词,让这些单词仅首字母大写。

b)将所有空格替换为@符号。

c)返回处理后的字符串。

package com.oracle.test;

import org.testng.annotations.Test;

public class HandleStringTest {

boolean isNoStandardChar(char ch) {

return ch 'z';

}

public String handleString(String src) {

if(src == null || src.trim().length() == 0) {

return src;

}

int left = 0;

int i = 0;

char [] arr = src.toLowerCase().toCharArray();

while(i

while(i

arr[i] = '@';

i++;

}

left = i;

while(i

if(isNoStandardChar(arr[i])) {

return src;

}

if(i==left) {

arr[i] = (char) (arr[i] - ('a'-'A'));

}

i++;

}

}

return new String(arr);

}

@Test

void testHandleString() {

System.out.println(handleString("I have a dream"));

}

}

输出如下,

5bf208e2f682?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=weixin

image.png

2.接上一题,请设计测试用例,测试你写的程序。

测试用例,

1.空字符和null。(边界值处理)

2.单个单词。

3.正常字符串。

4.字符串中含有特殊字符。

5.特殊字符在头,特殊字符在尾。

等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值