需学习东西(面试问题)ITeye - 威尼斯人

需学习东西(面试问题)ITeye

2019-01-10 15:48:27 | 作者: 鸿畅 | 标签: 问题,一个,面试 | 浏览: 785

记2017.3.21阿里边试阅历,java方向

历年阿里边试题汇总(2017年不断更新中)

阿里电面

 

《JAVA并发编程艺术》面试题 

 

JDK8新特性

http://www.runoob.com/java/java8-new-features.html

http://www.importnew.com/11908.html

 

G1收回器和其他收回器有什么差异?

TCP拥塞机制

什么是内存对齐?

常用规划形式的UML图

 

【有序数组】写一个二分查找法(小米)

写一个二叉树遍历(小米+微博)

前根左右

中左根右

后左右根

 

写一个链表回转(小米)

 

TCP与UDP差异 10.10万个整数中找出排序后的前10个数(Top N 问题),及其对应算法复杂度

10万个整数中,每个整数取值[0,99],找出排序后的中心方位的数(中位数)

手写代码,针对Top k问题

Top K堆完成

找出某日拜访网站次数最多的那K个IP

 

堆排序的算法复杂度

面试官说,大约就这些了。紧接着想要挂电话的姿态,我赶忙说,我能够问您几个问题吗?面试官说当然能够。我就问了以我当时的水平能否契合您们的要求?面试官说我觉得你还不错。紧接着问了一下大约等多久才干进入下一场面试,面试官说会赶快组织,可能会再周末。

 

怎么做到多个线程拜访同一个数组,既要线程安全,一起进步读写功率(我是经过分段锁的思维,说了一下自己的主意),后边还让我手写代码完成。

 

C++内存分为几种类型?(我对C++不熟,就说了JVM中的内存分类)-寄栈堆静常

java类加载进程?(这个我很熟,里边喋喋不休,可是,得到的回应是:背的却是挺熟)

 

Java那些类是final?(除了String,我真的不知道还有哪些),只答复了String,面试官说,还有呢?(答复不出来了。。。)后边查了下,其实Math类也是final,面试官说日期类有许多,可是我回头查了下,仍是没查到哪个日期类是final。

一切包装类、String、Stringbuffer/SringBuilder、System、Math

 

 腾讯面试官问的面试题:

1. 扼要描绘String、StringBuffer、StringBuilder的差异

可变性、线程安全、功能三个方面(后边两个默许数组长度16)

 

2. 描绘一下JVM加载CLASS文件的原理机制

3. Char型变量能否存储一个中文字?为什么?

JAVA中char占两个字节,java默许选用 Unicode编码,16位即2个字节,所以能够存储一个中文。

 

4. JAVA中完成多态有哪些办法?

重载、接口、承继 可经过这三种办法完成 多态

 

5. 写出你所知道的java.util.concurrent包中的类,并简述它们的用处和使用场景

6. 简述synchronized和java.util.concurent.locks.Lock的异同点

8. 说说你所知道的查找耗费比较大的SQL办法

9. 一张用户表有1000万条记载,主键为自增ID,从中取10条随机记载,怎么完成?简述你的解决方案,能够用伪代码描绘。

1)、MySQL RAND()函数调用能够在0和1之间发生一个随机数

2)select * from table a where rand() limit 10

功率上必定不能承受

3)经过主键 一个随机数自增数,然后取10条:

SELECT * FROM tablename WHERE id ROUND(10000000*RAND())  LIMIT 10;

这样既随机了,又确保了每次都走索引的。

 

10. 一个大型网站用一张LOG表来记载用户的操作行为,每天会发生上百万条记载。还有一个调试程序守时铲除三天前的数据(比方每天清晨4点履行),以保证LOG表的数据量不会无限增加,要求写出调度程序的伪代码。

13. 剖析日志文件,要求计算出呼应时刻超越100ms的恳求及其个数,写出相应的shell指令,文件内容如下,有三个字段,别离表明恳求发生的时刻戳、恳求、呼应时刻 

 

怎么剖析JVM的反常

jps、jstack、jstat、jmap/mat

 

怎么规划一个高并发的秒杀活动?

 

同为分布式缓存,为何 Redis 更胜一筹?

服务器最大ops多少

tomcat最大衔接数多少

Spring的核心技能

 

关于数据库业务说出你知道的一切

 

跟面试官谈天,说了许多关于登录验证的技能问题(有些严重)

把你知道的java的concurrent包的技能悉数说出来(volatile、锁重入,LinkedTransferQueue字节追加进步并发度技能,ConcurrentHaspMap结合volatile的happen-before读取优化)

 

redis的配置文件(AOF Snapshot 主从复制)

WebSocket长衔接问题

你的并发项目有做过压测吗

object目标的常用办法

你知道的spring组件有哪些?在你的工作中哪些地方用到了这些组件?为什么要用这个组件?需求留意哪些点?"针对详细的组件问详细的问题. 由于你能说出来的组件才是你的确用过的,既然是你用过的组件,那我问你在哪些地方用,你就必须知道,而且用这个组件需求留意的点你也应该知道.不然要么便是你没真实用过, 要么便是你的确用了,可是你没有真实了解这个组件,而仅仅会机械的用罢了.

 

腾讯的书面考试经过率仍是比较高的,前两轮面试除了根本的毛遂自荐和项目介绍以外,首要会调查的常识点有Hibernate、mysql数据库、Redis、memcache以及Java的full gc,手撕算法和场景题相同很重要。

 

这儿对算法题就不举例了,无非是常见的一些常识。网友供给的场景题示例为:千万用户抢购,怎么处理高并发,而且有一个链接,指向前一天抢购成功的用户,怎么规划整个体系和数据库。

 

3分钟之内写出来链表逆序的递归算法,我不明白为什么偏要递归,其实题不难,不过他限制了时刻,心思就严重了,最终仍是写的有点问题。最终边试官忽然对我一笑,说你二面经过了。

 

在面试中,Hashmap、Arraylist、各类排序算法、红黑树、线程、音讯行列、分布式、Forward和redirect都是常被问到的概念,每个概念又能够打开无数个问题。其间,蚂蚁金服(上海)会更注重数据库和开源相关技能。  

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表威尼斯人立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章