秋招之进行时

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huangqing510/article/details/52648607

秋照在如火如荼的进行中,自己也跑了很多秋招,给我最大的感觉就是自己在专业领域方面还是有很多不足,就他们所问的一些问题有一些心得,特此记录。

暑期的时候,参加了A(阿里)和T的(腾讯)的实习面试,我不知道是不是因为实习面试没有通过就直接没给我秋招的机会了,暑期的时候,阿里是电话面试,主要问了我一些JVM相关的内容,其实那时候自己虽然看过深入了解JVM这本书,但是因为多是概念性的东西,还是比较的容易忘记,所以那次答得不是太好,后来自己有反复的看了几次,觉得主要内容可以归纳如下:

1、垃圾收集器的分类,垃圾收集器可是说是jvm比较核心的部分之一了,这种分类一是随着时间的推进,断断续续出现了各种各样的垃圾收集器,各大厂商很多也推出了自己的垃圾收集器,比如最新的G1,比较老的有CMS,很多收集器又可以分为老年代和新生代收集器,其实我们大多创建的对象很多都是处于新生代的,按照是否能够并行又可以分类,目前性能最好真正达到了并行的就是G1了,其实垃圾收集器分类之后,每一个都有各自的算法的,归纳起来有以下几种:1、标记清除算法2、复制算法3、标记整理算法4、分代收集算法。其实垃圾收集总是有一定的开销的。

2、要理解jvm中堆、栈、方法区、常量池的作用

3、虚拟机中类加载的过程及类的结构

4、高效并发的一些机制,如线程安全和锁优化(线程部分很多公司都考到了,有的问的是线程安全的实现有哪些方法,有的是线程同步的一些问题,所以这部分应该是重点关注的地方),锁优化主要包括锁消除,锁粗化,自旋锁与偏向锁的概念与使用场景,锁与多线程同步是紧密相关的,线程同步中也有不用锁的方法,另外,在数据库中,也有一些锁,大家可以联想记忆。

到了T的时候,问的都是一些算法相关的内容,提的问题都很open,我觉得一要看自己的经验,二也要看随机应变的能力。这两家公司笔试时候做的题目也是比较open的,很多都有涉及到大数据与高并发的内容。

然后就是华为了,华为给我的感觉就是在大量的招收人才,而且给的起薪比较高,面试的时候问的问题一是一些算法题,二是数据结构的内容,树,栈,堆,队列,排序等等,这些内容应该熟记于心

特别是排序,算法代码应该是自己能够随时写出来的。二叉树的代码很多都是已经给了节点的结构,需要用递归来解决。

然后就是设计模式了,这一块也是在面试的时候的比较常问的,就我个人而言,我觉设计模式也是值得常看的,包括一些常用的模式:三种工厂相关的,单例模式,原型模式,适配器模式等等,这些模式都应该能够写出大致的代码。

除了以上所述,常用一些算法的知识自己应该也熟记于心,比喻递归,回溯,最大公约数,最小公倍数,闰年平年,大数的运算,最长公共子数列,回文,斐波拉切(有很多变种),迷宫(也有很多变种),约瑟夫环(有很多变化),进制转换(也有很过变化),有序数组合并等等,数据结构中冒泡,快排,二叉树复制,遍历算法,二叉树高度等等。除了以上算法以外,有的也考操作系统中的一些算法如时间片轮转调度算法。

面试的时候还会问以下问题:java容器的相关知识,比如线程安全的有哪些,hashTable与hashMap的区别,线程安全的实现,static的执行顺序,浅拷贝与深拷贝的概念,redis等。

项目相关的,比如我用的是SSH,可能会问hibernate缓存的实现机制,spring中事务的配置,servlet的生命周期及相关概念,spring中依赖注入和AOP编程的概念,实际面试的过程中可能会问的更深入。

上机笔试的时候还有一些智力题,比如数字找规律,排列组合,概率计算等等。

以上就是近期的总结,不定期更新中。。。。。。

猜你喜欢

转载自blog.csdn.net/huangqing510/article/details/52648607
今日推荐