阿里巴巴、腾讯、京东、今日头条。。。大厂面试问题总结

自己总结了阿里巴巴、腾讯、京东、今日头条等大厂近三年的面试题,全部是自己总结的知识点,目录如下。需要的同学关注公众号:面试内容分享,并发送邮箱在公众号

Java基础        

1.      int,char占几个字节?  

2.      Integer和int的区别     

3.      Math.round(11.5)等於多少? Math.round(-11.5)等于多少?         

4.      final,finally,finalize的区别        

5.      final修饰一个变量时,是引用不能变,还是引用的对象不能变?         

6.      内部类的作用        

7.      ==和equals的区别        

8.      为什么要重载equals和hashcode()?如果equals方法相等,hashcode可不可以不相等    

9.      hash,冲突解决方法?         

10.   hashmap的实现,hashmap怎么找到index的,参照源码,如果equals怎么办 

11.   hashmap和treemap的区别及底层实现    

12.   Arraylist,LinkedList的区别    

13.   HashMap,HashTable的区别 

14.   HashTable原理,是怎样实现线程安全的  

15.   HashMap是否线程安全,为何不安全        

16.   ConcurrentHashMap线程安全,为何安全,底层怎么实现的,和HashTable的区别  

17.   如何进行反射,如何提高反射的性能        

18.   抽象类与接口的区别    

19.   ClassLoader原理   

20.   String,StringBuilder和StringBuffer的区别        

21.   用最有效率的方法算出2乘以8等于几    

22.   对异常的理解        

23.   请写出你最常见到的5个runtime exception      

24.   static的使用方式 

25.   集合类,各种集合类之间的区别        

26.   collection和collections的区别     

27.   set接口继承了collection,为什么要有set接口,set接口比collection接口多了哪些方法        

28.   HashSet的底层实现,和怎么保持唯一性 

29.   HashSet和TreeSet的区别   

30.   IO流,字节流—字符流        

31.   递归读取文件夹下的文件,代码怎么实现        

多线程    

1.      线程和进程的区别        

2.      进程的三种状态及切换        

3.      进程间通信,详细说其中一种    

4.      线程的几种状态    

5.      死锁,四个条件,预防,举个例子    

6.      如何创建线程,如何创建守护线程    

7.      守护线程和普通线程的区别        

8.      线程同步机制,synchronized和lock异同 

9.      Sleep和wait的区别      

10.   Volitile     

11.   对线程安全的理解        

12.   线程池    

13.   多线程访问共享内存的时候应该怎么办    

14.   线程间协作    

并发包    

15.   hashmap和concurrenthashmap的底层实现和区别 

16.   BlockingQueue的使用   

17.   take,poll的区别,put,offer的区别      

18.   原子类的实现        

19.   Callable   

20.   CopyOnWriteArrayList   

21.   ThreadPoolExecutor        

JVM

1.      内存管理方案        

2.      GC原理  

3.      哪些可以做GC Roots? 

4.      java四种引用

5.      真正死亡要两次标记    

6.      如果想在GC中生存一次怎么办 

7.      垃圾回收算法        

8.      java类加载流程及类加载器

9.      老年代,新生代,持久代    

10.   垃圾收集器,CMS算法过程        

11.   内存溢出了怎么办        

12.   如何避免内存泄露        

13.   数组多大放在JVM老年代   

14.   老年代中数组访问方式        

15.   什么时候会发生jvm堆内存溢出

16.   永久代怎么GC      

17.   GC有环怎么处理  

18.   如果不想被GC怎么办 

19.   JVM如何分配直接内存,new对象如何不分配在堆上而是栈上    

20.   常量池解析    

21.   JVM常见启动参数        

Servlet     

1.      get,post区别 

2.      get的字节限制是协议本身限制的吗 

3.      项目中怎么保存用户登录信息    

4.      Cookie和session   

5.      如果cookie禁用了呢    

6.      如果有几千个session怎么提高效率  

7.      Session和cache的区别        

8.      filter和interceptor的区别   

9.      http和https的区别      

10.   https是如何加密的       

11.   servlet生命周期    

12.   servlet是不是单例的,为什么?怎么设计程序证明是单例还是多例    

13.   如果一个类继承servlet,这个类需要实现哪些方法        

14.   怎样开发线程安全的servlet        

15.   XML解析方式        

16.   浏览器中输入url回车后,整个处理流程是如何的 

17.   怎么解决中文乱码问题        

18.   你对MVC的理解  

19.   XML和JSON的区别,哪个流量比较大      

20.   网站访问量巨大,如何提高效率        

21.   html提交如何保证安全        

框架        

1.      spring框架原理     

2.      IOC介绍

3.      IOC的生命周期     

4.      AOP是怎么实现的         

5.      AOP的底层实现,AOP与cglib,asm的关系        

6.      在项目中使用过注解吗        

7.      如果让你实现注解的话你怎么实现    

8.      springMVC的注解有哪些     

9.      springMVC原理     

10.   struts和springMVC的区别 

11.   hibernate一级缓存,二级缓存的使用        

12.   怎么写一个orm框架   

13.   lazy-load的理解,get()和load()区别   

14.   hibernate事物传播行为种类        

15.   hibernate如何实现声明事物        

TCP/IP     

1.      osi七层模型以及tcp/ip四层模型,七层和四层有什么区别,每层的协议   

2.      路由那一层,tcp那一层,路由算法 

3.      tcp,udp区别  

4.      TCP三次握手,第三次数据包丢失处理     

5.      TCP滑动窗口机制

6.      TCP拥塞控制机制

7.      TCP中断连接四次挥手

8.      TCP,syn丢包,丢包时间   

9.      TCP长连接,短连接的区别

10.   http,200,302,404   

11.   https协议处理的过程,对称加密和非对称加密,SSL协议以及完整交互过程    

12.   DNS解析         

13.   dns是基于tcp还是udp的  

14.   ARP协议

15.   计算机网络分层,每层的协议,协议所占的端口    

16.   socket模型    

17.   交换机,路由器,网关的概念及用途        

数据结构/算法       

1.      二分查找        

2.      数组和链表的区别        

3.      链表判环        

4.      堆和栈的区别        

5.      KMP

6.      排序算法介绍,复杂度,稳定性        

7.      快排的原理    

8.      快排不稳定为什么项目还在用    

9.      写一个最拿手的排序算法    

10.   红黑树,B+,B-,AVL  

11.   B+树和二叉树查找时间复杂度   

12.   深度优先与广度优先,DFS,BFS算法  

13.   写代码,字符串逆序    

14.   Hoffman编码

15.   编码实现一个最大元素为100的阻塞队列,Java api上有demo        

16.   二叉树遍历算法

17.   求二叉树中某个值为5的结点到根的路径         

18.   链表,队列,栈的基本理解和大致实现    

数据库    

1.      什么是事物,事物的隔离机制及特点        

2.      事物的几种粒度    

3.      什么是存储过程    

4.      数据库索引的理解,唯一索引    

5.      索引的分类    

6.      索引的优点和缺点        

7.      数据库连接池原理        

8.      连接池使用什么数据结构实现    

9.      实现连接池    

10.   写sql语句,和limit相关     

11.   sql注入原理  

12.   join语句和数据库移植 

13.   mysql表引擎,mysql默认的数据库引擎,有几种,优缺点      

14.   数据库插入数据时怎么判断是否重复        

15.   数据库范式    

16.   乐观锁悲观锁        

17.   数据库锁机制,行锁,表锁,乐观锁,悲观锁        

18.   现在的普通关系数据库用的数据结构是什么    

19.   SQL语句。主要考察group by,count,having

设计模式        

1.      观察者模式    

2.      装饰者模式    

3.      动态代理        

4.      手写单例        

5.      工厂方法模式的优点(低耦合,高内聚,开放封闭原则)    

编程        

1.      有个元素的数组,元素取值范围是1到n,判定数组是否存在重复元素?要求时间复杂度为O(n)(百度测试开发的题)        

2.      给出n个元素的数组,也有负数,求数组中和最大的子序列(百度测试开发的题)         

3.      N个台阶,一次可以走一步或者走两步,求走着n个台阶有多少种方法,写代码(百度测试开发的题)     

4.      判断单链表中是否有环(百度测试开发的题)        

5.      两个字符串,判断其中一个字符串是不是另一个字符串的右移子串(百度测试开发的题)    

6.      给出一个字符串,求最长对称子字符串的长度,如google,返回4(百度测试开发的题)     

其他        

1.      什么技术是关于解耦的        

2.      继承与组合的区别        

3.      54张扑克牌,去掉大小王,问红桃A和黑桃K被同一个人拿到的概率        

4.      C/S和B/S的区别,及各自的特点       

5.      有一个Person类里面有三个属性,name,sex,age.现在有一个Person数组,要求按person的age排序 

6.      卡特兰数以及公式推导        

7.      设计一个一百亿的计算器    

8.      怎么调试程序        

9.      建模中几种类的关系    

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值