本人硕士在读,最近在找Java实习,投递的大连腾讯无线研发中心。
6.4下午4点开始面试,首先是由一个小哥哥面试官面我,问我由没有做过算法题,我说剑指Offer做完了,leetcode大概30多道。然后面试官说,来,做道算法题吧,手写算法。写完之后,面试官很细心的分析,讲解这道题。很简单,求二叉树的高度。接下来就是正式面试,从JavaSE,WEB,框架,JVM,数据结构等。第一个面试官面完后,觉得我还可以,然后第二个面试官接着面我,大概是场景题,自己设计IOC等。下面是具体面试题
能实习多久?家哪儿的?为什么选择Java岗位?
有过git,SpringCloud使用经验吗?
怎么上传到github上项目?
maven怎么编译?
maven的目录是什么?
maven怎么打包的?
lifecycle,plugin,Dependencies,pom里面的<package></package>
Lock和reneLock的区别?底层原理是什么?
线程创建的几种方式?写代码线程池的创建
线程池的参数都有哪些?
怎么理解JVM?
Spring和SpringBoot的区别和联系,IOC底层原理是什么?
数据库事务的隔离级别?
ArrayList和HashMap的底层原理,jdk1.7 1.8
ArrayList和LinkedList之间的区别,为什么?
场景设计题,怎么设计成一个IOC容器。
介绍下synchronize关键字的使用,底层原理是什么?synchronsize(this),volatile,单例设计模式,单例设计模式为什么是双重检查机制。
垃圾收集器,垃圾收集算法,具体场景.
JVM的内存模型,1.7 1.8都要说出来,并且作用
老年代新生代有什么区别?
新生代怎么回收垃圾?
JVM怎么标记垃圾的?为什么这样标记?
JVM堆的分区,堆分区
MySQL索引了解吗?说一说什么是索引,为什么用索引?
索引分类?什么是组合索引?
什么是平衡二叉树,满二叉树,红黑树,底层原理
二叉树的上浮,怎么上浮的?
JVM堆分区是什么?大顶堆,小顶堆,底层怎么实现的?
MyBatis中#{},${}之间的区别,为什么#{}是预编译的?
使用linux命令都有什么?求后10行,tail命令
算法题:最优:求dfs,最长路径的二叉树的高度。
总结:面试共面了大概2小时,在不会的过程中,面试官会引导你,并且会告诉你为什么是这样?最后面试官说你还有什么问题吗?我问了底层怎么学习,算法怎么学习,面试官说底层知识不需要太细,因为细节太多,不要纠结于一个点,只要把底层的知识搞透彻了,现在框架更新换代很快,自然而然的容易学习。算法的话,没办法,多练多总结。大概问了他们是做什么的,他们现在在做一个会议的一个项目,但是大多数业务都是和游戏相关的,C++的工程师占比60%。让我把眼光放高一点,进阿里。珍惜在学校的学习时光,好好学习。
面完后最大的感觉是看面经起到了一点的作用,最重要的是平时的积累,面的很活,其实你学没学到位,面一下就知道了。面了5.6家公司,感觉公司公司之间的差距特别大。好好努力进大厂!
建议简历上一定写自己熟悉的内容,面试官是一直看我的简历的,扣简历里面的内容,然后知识点扩散,可能做的项目比较low,没看上,就没问项目。
最后对我的整体评价是中等技术以上的水平。许愿Offer。
全部评论
(7) 回帖