2021.3.1 百度测试开发实习面试–百度地图一面

  • 时间:
  • 浏览:
  • 来源:互联网

2021.3.1 百度测试开发实习面试–百度地图一面

	自我介绍
    
  你能实习多长时间呢?
  
  因为你所投的是测试开发岗位,那说说你对测试的理解?
  
  你最熟悉的语言的是什么语言?
  
  Java的死锁是因为什么?
  
  内存泄露与内存溢出的区别?
  
  你最近做的一个项目是什么呢?
  
  你通过做的项目,你学到了什么呢?你遇到了什么问题呢?
  
  你怎么测试你所做的项目呢?
  
  有做过什么代码层面的测试吗?(当时回答的没有)
  
  那我们写个测试用例吧,有一个登录框,然后它上面有输入密码和输入用户名的两个框,
  然后上面那个框能够输入手机号和邮箱号,密码只能输入 6-8为的数字和字母,
  然后这个框输入三次错误之后会弹出校验码,后面每一次都弹出检验码,输入10次之后这个账号冻结,
  然后根据这个写一个测试用例。
  
  这些测试用例可以分为哪几种吗?正常case和异常case?
  
  那写个代码吧。
  题目:有一个HashMap,然后这个里面的HashMap的 key 值是字符,然后它的value是数字,
  然后需要对它进行排序,先以value进行排序,如果遇到value相同的话,就以key进行排序。

对map集合进行排序(按键排序和按值排序)

Java Map按照key或value排序

import java.util.*;
public class HashMapSort {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<String, Integer>();
        map.put("d", 2);
        map.put("c", 1);
        map.put("b", 4);
        map.put("a", 3);
        List<Map.Entry<String, Integer>> infoIds = new ArrayList<>(map.entrySet());
        // 对HashMap中的key 进行排序
        Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() {
            public int compare(Map.Entry<String, Integer> o1,
                               Map.Entry<String, Integer> o2) {
//				System.out.println(o1.getKey()+"   ===  "+o2.getKey());
                return (o1.getKey()).toString().compareTo(o2.getKey().toString());
            }
        });
        // 对HashMap中的key 进行排序后  显示排序结果
        for (int i = 0; i < infoIds.size(); i++) {
            String id = infoIds.get(i).toString();
            System.out.print(id + "  ");
        }

        System.out.println();

        // 对HashMap中的 value 进行排序
        Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() {
            public int compare(Map.Entry<String, Integer> o1,
                               Map.Entry<String, Integer> o2) {
                return (o1.getValue()).toString().compareTo(o2.getValue().toString());
            }
        });

        // 对HashMap中的 value 进行排序后  显示排序结果
        for (int i = 0; i < infoIds.size(); i++) {
            String id = infoIds.get(i).toString();
            System.out.print(id + "  ");
        }
    }
}

输出结果:

a=3  b=4  c=1  d=2  
c=1  d=2  a=3  b=4  

1.1 Java的死锁是因为什么?

1.2 内存泄露与内存溢出的区别?

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。

内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。

内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。

内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。

1.3 那我们写个测试用例

有一个登录框,然后它上面有输入密码和输入用户名的两个框,然后上面那个框能够输入手机号和邮箱号,密码只能输入 6-8为的数字和字母,然后这个框输入三次错误之后会弹出校验码,后面每一次都弹出检验码,输入10次之后这个账号冻结,然后根据这个写一个测试用例。

登录测试用例

用户登录界面的测试用例

「测试」 - 测试用例 & 用户登录测试

登录功能测试用例web

1.4 这些测试用例可以分为哪几种吗?正常case和异常case?

用户登录界面的测试用例

本文链接http://www.dzjqx.cn/news/show-617158.html