CVTE java web后台 实习生 笔试+一面 经验

投的第一份简历,也可以说是第一次写笔试和参加面试。题在前面,总结在最后,努力不骗人。

笔试

题型:20道不定项选择题+2道算法题+1道架构设计题

选择题

选择题出的很全面,因为是不定项选择,一道题就可以考很多知识点。

当时做的时候以为笔试都是这么难,做完实验室同学告诉我这个算比较难的了,而且据我观察可能是跟春招找正式offer的一批难度的题。可能最后过的标准不一样吧。

选项信息量很大,所以我只把自己印象比较深的记一下。

  1. Java8 Optional类【我不知道有这个类,第一题,直接懵了哈哈】
  2. https 安全问题
  3. hash表拉链法平均访问次数
  4. 给出一张图,求图的深度或广度遍历有多少种可能
  5. Runtime.gc()调用之后是否立即清理等等gc问题
  6. 类加载什么时候 final static的成员变量什么时候赋值了
  7. Integer常量池 -128到127
  8. 存储过程 预编译sql
  9. arrays.aslist 是否是适配器模式

算法题

两道题(不能本地IDE,且代码不能跑,一点都不能调试,可以说就是个txt笔记本...)
做完同样以为笔试都这样...讲道理没有代码提示也该能调试一下吧...题倒是不难

  1. 解码方式,1—A 2—B...26—Z,给定字符串,问有多少种解码的方式(如:12——2种【1,2】或【12】,56——1种【5,6】) 【 leetcode上的题,第二天实验室同学告诉我的,这个当时没做出来,一直在想递归的设计,后来发现不难,算是学到了】

  2. 给一个整型数组,求其中出现频率大于总个数的1/3的元素列表【剑指offer是求总数个数大于1/2的元素,变形题,稍微复杂点,这个应该是写对了,不过不能调试,也不知道最后能跑不】

系统设计题

说他们公司有很多部门,每个部门负责不同的业务,如短信推送业务、验证码业务、人脸识别业务等等。

现在要求设计一个公共管理平台,将这些业务整合到一起,这样外界可以通过这个平台调用公司的各项业务,要求考虑安全方面等。【我是以dubbo微服务,暴露在zookeeper,然后zookeeper统一入口,把消费者生产者分离这个角度答的,因为最近项目刚好用到,不知道对不对】

面试

自我介绍

首先是自我介绍,这可以说是我人生中第一次面试,所以我直接跟他说了哈哈,面试官也比较随和,跟我说,“没事我们就喜欢没有经验的。”自我介绍的时候我就说了我本科在哪个学校读什么,现在在哪个学校读研究生就没了。他问我,“这就完了?”我就问他,一般都要说什么哈哈,然后我说我最近在实训,给你讲讲我们做的项目,上周做了什么,这周要做什么,迭***发,小组五人,技术选型,用的东西等等。
他这里问到我技术选型怎么选的,为什么选ssm,我说我们老师要求敏捷开发,我们组三个人都用过这个,都有基础,用这个开发效率高,然后也流行,问题容易解决。
我又说到我们用的分布式的架构,做的几个单独服务分成不同系统,然后系统前后端再分离,统一使用dubbo服务,注册在zookeeper管理中心等等,他没有细问,只问我这些之前都用过吗,我说简单尝试过。
因为还在做,他也就没细问。接下来就引导我向框架走了。

框架相关

  1. 你觉得为什么ssm那么流行?或者说你觉得他们好用在哪?

  2. springmvc的aop?

  3. aop里提到了***,为什么需要***,原类不能自己做么?这里又扯到动态***,反射

  4. 动态***的应用?我说了springmvc主要就是aop和拦截器

  5. springmvc执行流程?详细问了我HandlerMapper为什么能根据DispatcherServlet传来的参数得到需要的相应的HandlerChain执行链返回给他。这里我有点懵了,框架这些我确实了解的不太深入,只知道流程,没有仔细看。我当时回答就是反射,拦截器,具体的不太明白。

数据库方面

  1. 用的什么数据库? mysql
  2. 两种引擎的区别?
  3. 索引了解么,底层实现?索引种类?
  4. 介绍一些索引失效的例子,我举了一个在where里对变量使用了函数然后索引失效了的例子,他问我这样为什么会失效,这里我没说的太好。

java基础方面

  1. arraylist linklist 区别?
  2. 一般用到上面两个list做什么? 我说linklist我一般都用来做堆
  3. arraylist扩容机制?这里没答好,源码看的太早,一直准备都是看的hashmap那些的扩容,我直接说的大概的。
  4. 为什么要面向对象?
  5. 多态?这里我也懵了一下,太基础导致我没怎么看过,我灵机一动给他举了个接口可以有不同实现的具体例子,面完发现就是这个意思。
  6. 重载和重写?
  7. hashmap底层实现,如何解决冲突的
  8. 线程安全版的hashmap了解么?hashtable,concurrenthashmap 以及各自的具体的

多线程

从上面直接引过来了

  1. 多线程你怎么实现? synchronized关键字,锁,因为从concurrenthashmap引过来的,我就提到这个类所在的包底层都是在CAS(实现操作原子性)和violate 实现可见性这两个的基础上实现的
  2. 你还知道哪些锁?reentrantlock 好像叫这个,底层也是CAS,也是可重入锁,是类
    还有些多线程的细节的,不太记得了。
  3. CAS你知道怎么实现的么?我说compareandswap,讲了下原理和底层是调用JNI最后用的是操作系统的原子性操作

在线写算法

在牛课上,出了道不难的题,给定一个数组,找出出现次数最多的数,出现次数一样的话,把第一个出现的找出来(2,1,3,2,3 => 2而不是3)
我先预处理把对应数字统计次数,然后从后向前遍历一遍,次数大于等于当前最大次数的就更新,最后跟他说用数组不好,因为不知道里面数多大,建个hashmap把里面的值当key存,次数当value就行了。
他说可以。

总结

笔试方面:

  1. 笔试题做的太少,还是需要适量刷下笔试题,有些感念性的题目感觉别人都刷的是肌肉记忆了
  2. 新特性关键的还是要知道一些,笔试题一定会考一点
  3. 算法在笔试的选择题中主要考原理,所以会考些图或者树的算法,因为手写起来难度会大一些
  4. 手写算法题
    1. 常用的方法和类要多练习,后面面试时候让我在线写算法题的时候是在牛课平台,那里是可以调试的,但是也没有那么智能的补全,常用的字符串和数组还有list的方法要在牛课平台练习练习。
    2. 题都是leetcode或者剑指offer上的题或者简单变型,我刷的太少了,要多做做。

面试方面:

  1. 最重要的是知其然然后知其所以然,面试官不会因为你不能答出所有问题而觉得你知识太不全面,反而不要死记,这点是个我最大的感触,因为我最后问他mapper映射那个我没答出来你怎么看,他告诉我其实是我讲到springmvc执行流程的时候,想考我一下,没事的,他并没有问具体的ssm使用,只是问些原理,所以框架主要看是看原理,不能想当然的用。
  2. 基础知识还是要扎实,数据库方面其实我还没有复习,纯靠自己编,然后java基础集合类还是要再看看。
  3. 刚面试完才突然明白面试官提的一些问题是想问什么,自己明明能说的很深,但是当时没有说出来,这个也要慢慢适应吧,应该是紧张和临场的原因。
  4. 实事求是即可,真正面试了一次发现,认真准备,尽力回答,不会就不会就完事了。努力不骗人。
#广州视源电子科技股份有限公司##实习##面经##春招##Java工程师#
全部评论
不能跑?什么傻X面试官...
点赞 回复
分享
发布于 2019-03-14 14:19
最后过了嘛?
点赞 回复
分享
发布于 2019-03-14 15:52
联想
校招火热招聘中
官网直投
感谢分享
点赞 回复
分享
发布于 2019-03-14 16:40
楼主还是强啊
点赞 回复
分享
发布于 2019-03-14 17:37
没有接着二面吗
点赞 回复
分享
发布于 2019-03-14 17:45
CVTE的内推码EIB69,官网选择 招聘信息来源 “内部推荐”,可以优先面试资格。有疑问的可以加我微信 little_Mermaid995,最后希望大家秋招顺利找到满意工作。
点赞 回复
分享
发布于 2019-08-15 12:11
厉害了!感谢大佬分享。
点赞 回复
分享
发布于 2023-03-06 13:26 湖北

相关推荐

点赞 评论 收藏
转发
14 78 评论
分享
牛客网
牛客企业服务