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

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

关于实习

  • 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
  • 入库持久化设计
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • JVM架构 当一个程序启动之前,它的class会被类装载器装入方法区(Permanent区),执行引擎读取方法区的...
    cocohaifang阅读 1,650评论 0 7
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,216评论 11 349
  • 内存溢出和内存泄漏的区别 内存溢出:out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,...
    Aimerwhy阅读 732评论 0 1
  • 转载blog.csdn.net/ning109314/article/details/10411495/ JVM工...
    forever_smile阅读 5,356评论 1 56
  • 好久以来第一个惬意的周末,不用加班,不用正装,不用洗脸,不用出门,甚至不用下楼,就这么静静的欣赏着古筝,欣赏窗...
    海天一色y阅读 346评论 2 3