美文网首页实习校招
腾讯测试开发岗实习面试2018

腾讯测试开发岗实习面试2018

作者: 莫冰先生 | 来源:发表于2018-04-23 14:29 被阅读0次

话不多说 一首凉凉送给自己 自己学后端 然后腾讯投的测试开发岗位,今天面完发现问的挺难得呀 =-=

关于实习

  • oracle实习做的什么呀?
    web ui测试 用selenium写自动化case
    然后看过底层的源码吗? 看你妹啊。。我是做后端的。。。反正实习做的东西没讲好,凉了第一步

关于项目

介绍自己的项目,这个是每个公司都会让你介绍的(我觉得这个要背一背,毕竟一个项目这么多东西,需要总结一下),

问的问题

  1. java新生代 老年代 持久代
    虚拟机的堆内存 首先堆内存分为三个代 年轻代 老年代 持久代
  • 年轻代 :所有新生成的对象都是首先放在年轻代的,年轻代的目标就是尽可能快速的收集到那些生命周期短的对象,年轻代又分为三个区,一个Eden区域,两个survivor区域(这些区域的比例也可以动态设置的),大部分对象在Eden区域生成。
    Eden到survivor当Eden区域满的时候,还存活的对象将被复制到survivor区域
    survivor到另一个survivor当一个survivor区域满的时候,此区中的存活对象将被复制到从前一个survivor区域复制过来的并且此时还存活的对象,将被复制到老年区
    survivor到老年代 当另一个survivor也满了,并且前一个survivor区域复制过来此时还存活的对象就进入老年代
    注意 survivor两个区域是对称的,没有先后关系,而且他是由于复制算法的性能太浪费内存引入的,(复制算法,标记清除算法)一个survivor区域可能存在来自Eden和另一个复制过来的对象,
    *老年代
    在年轻代中经历了N次垃圾回收后仍然存活的对象,就会被放入老年代中。因此,可以认为老年代中存放的都是一些生命周期较长的对象
    *持久代
    用来存放静态数据,比如java Class,Method
    持久代对垃圾回收没有显著影响,但是有些应用可能动态生成或者调用一些class (其实对持久代和方法区这里比较模糊 后面要看书吃透,看面筋不行的,还有minor gc和full gc 有点模糊 cms和g1也要很熟 总之 一定要认真看书。。。)
    2.垃圾回收标记算法,我就扯了可达性分析(这个面经要一直看,我很久没看就忘了 项目也是)
  1. 常量和变量的内存分配
  2. new 一个对象 它的内存分配机制 在内存的哪一块,分配多大(我都不知道想问什么,一顿瞎扯 凉凉)
  3. 说一下socket吧,(socket没怎么学,java后端逻辑不怎么用到socket,他说这个挺重要的,我曹。。。凉)
  4. 讲一下Redis吧(扯)

手写代码。。

1.找到众数
给一个int[] {1,2,3,4,5,6,1,1,22,3,14,...}找到出现次数最多的数 和次数 然后就是考虑优的复杂度
第一想到就是map来搞,然后没有考虑到top k ,然后提醒我 我就说。。。 然后他说可以动态更新 找到最大的。。没听懂。。

import java.util.*;
public class What {

    public static void main(String[] args) throws Exception {
        int[] arr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 1, 2, 2, 3, 4, 5};
        int n = arr.length;

        List<Integer> modalNums = getModalNums(arr);

        System.out.println(modalNums);
    }

    public static List<Integer> getModalNums(int[] arr) {
        int n = arr.length;

        if (n == 0) {
            return Collections.EMPTY_LIST;
        }

        if (n == 1) {
            return Arrays.asList(arr[0]);
        }

        Map<Integer, Integer> freqMap = new HashMap<>();
        for (int i = 0; i < n; i++) { // 统计数组中每个数出现的频率
            Integer v = freqMap.get(arr[i]);
            // v == null 说明 freqMap 中还没有这个 arr[i] 这个键
            freqMap.put(arr[i], v == null ? 1 : v + 1);
        }

        // 将 freqMap 中所有的键值对(键为数,值为数出现的频率)放入一个 ArrayList
        List<Map.Entry<Integer, Integer>> entries = new ArrayList<>(freqMap.entrySet());
        // 对 entries 按出现频率从大到小排序
        Collections.sort(entries, new Comparator<Map.Entry<Integer, Integer>>() {
            @Override
            public int compare(Map.Entry<Integer, Integer> e1, Map.Entry<Integer, Integer> e2) {
                return e2.getValue() - e1.getValue();
            }
        });

        List<Integer> modalNums = new ArrayList<>();
        modalNums.add(entries.get(0).getKey()); // 排序后第一个 entry 的键肯定是一个众数

        int size = entries.size();
        for (int i = 1; i < size; i++) {
            // 如果之后的 entry 与第一个 entry 的 value 相等,那么这个 entry 的键也是众数
            if (entries.get(i).getValue().equals(entries.get(0).getValue())) {
                modalNums.add(entries.get(i).getKey());
            } else {
                break;
            }
        }

        return modalNums;
    }
}
  1. 海量log怎么持久化到数据库

老师问:比如王者荣耀这个游戏 |game|name|creattime| ...等字段 然后每5秒刷一个延迟记录一分钟就是12个 |100|22|99|22|44|.....| 然后一共有10g这种log,然后如何持久化到数据库中用来做其他的处理分析

  • 10g log如何读取
  • 读取后如何处理成vo
  • 入库持久化设计

相关文章

  • 腾讯测试开发岗实习面试2018

    话不多说 一首凉凉送给自己 自己学后端 然后腾讯投的测试开发岗位,今天面完发现问的挺难得呀 =-= 关于实习 or...

  • 头条测试实习岗面试

    投了字节跳动(今日头条)的测试实习岗,2018.6.25上午10:30面试,结果一天刷到了三面,真心挺累的,一直在...

  • 腾讯(系统测试岗)实习心得

    2015年3月我参加了腾讯实习生招聘并幸运获得了实习offer。无论是线上宣传、笔试和微信招聘跟踪,还是线下的实际...

  • 2020届暑期实习-字节跳动测试岗面经

    作者按:本人先后面试字节跳动公司测试开发岗和测试岗,最后被测试岗捞起并上岸。现分享本人面经及个人总结,以供各位参考...

  • 腾讯2020暑期实习产品岗面经

    腾讯2020暑期实习产品岗 流程: 3.18 网申 3.20 被深圳总部面试官捞,地点不匹配,放弃 3.21 内推...

  • 面试日记——2017腾讯暑假后台实习面试

    在前一段时间做了腾讯实习的笔试,投的是后台开发岗。笔试选择题不算太难,可编程题一题都没做,不过还是收到了面试的通知...

  • 2018腾讯腾讯春招行业应用岗面经加总结

    春招已经接近尾声,来总结下我2018腾讯腾讯春招行业应用岗的面试经历吧。 首先说下基本流程,网申+笔试+初试+复试...

  • 2020-04-15

    今天第一次正式面试,约的是上午10点。应聘前端开发实习岗。公司是杭州玳数网络科技公司,面试方式是视频面试,因...

  • 百度滴滴测试实习生面经

    百度面试(测试岗): 是在实习僧上投的简历 一面(电话面试,一个小时左右): 首先自我介绍,介绍完就是算法题:判断...

  • 2018-04-02 前端开发周报

    腾讯一面(2019前端实习岗);不可思议的纯CSS导航栏下划线跟随效果;从八道面试题看JavaScript DOM...

网友评论

    本文标题:腾讯测试开发岗实习面试2018

    本文链接:https://www.haomeiwen.com/subject/hktllftx.html