面试题(lt)

80 阅读4分钟
  1. static关键字作用

    (1). 可以修饰什么? 起到什么作用?

  2. ArrayList和LinkedList

    (1). 分别起到什么作用, 使用场景是什么?

    (2). 它们有什么联系和区别, 时间复杂度是多少?

    (3). ArrayList的实现原理

    (4). LinkedList的实现原理

  3. HashMap

    (1). HashMap的作用

    (2). HashMap使用场景

    (3). HashMap的实现原理

    (4). HashMap和HashSet的区别于联系

  4. 项目(最拿手的项目)

(1). 主要负责什么功能

(2). 项目中如何处理高并发的

(3). 项目中用到了哪些多线程技术

(4). 项目中如何解决线程安全问题

tcp udp区别

TCP 的三次握手TCP 四次挥手

还有http协议 spring原理

1.怎么保证hashmap的线程安全

通过Collections.synchronizedMap()返回一个新的Map,这个新的map就是线程安全的。
这个要求大家习惯基于接口编程,因为返回的并不是HashMap,而是一个Map的实现。
重新改写了HashMap,
具体的可以查看java.util.concurrent.ConcurrentHashMap. 这个方法比方法一有了很大的改进

3.redis存储的数据类型

string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

4.redis的缓存冲击是什么怎么解决?

查询一个数据库中不存在的数据,比如商品详情,查询一个不存在的ID,每次都会访问DB,如果有人恶意破坏,很可能直接对DB造成过大地压力。
当通过某一个key去查询数据的时候,如果对应在数据库中的数据都不存在,
我们将此key对应的value设置为一个默认的值,比如“NULL”,并设置一个缓存的失效时间,
这时在缓存失效之前,所有通过此key的访问都被缓存挡住了。后面如果此key对应的数据在DB中存在时,
缓存失效之后,通过此key再去访问数据,就能拿到新的value了。

5.arraylist跟linkedlist的区别

1.ArrayList是基于动态数组的数据结构,LinkedList基于链表的数据结构。 

2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 

3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。   6.springboot有哪些优点为什么使用它

自动装配:
主启动类里面有个springbootapplication的核心注解 他包括了@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan三个主要的注解
@EnableAutoConfiguration
一旦加上此注解,那么将会开启自动装配功能,简单点讲,
Spring会试图在你的classpath下找到所有配置的Bean然后进行装配。当然装配Bean时,
会根据若干个(Conditional)定制规则来进行初始化

7.springcloud有哪些主键

8.jvm内存模型及其他的理解

9.说一说开发中遇到的问题 解决思路是什么?

10.a. 介绍下堆内存和非堆内存,栈内存。

  1. b. 讲讲Volatile原理和作用/ [ˈvɒlətaɪl]

  2. c. 说说hashmap原理,怎么保障hashmap的安全

  3. i. Collections.synchronizedMap()与ConcurrentHashMap的区别

  4. ii. hashCode()是什么

  5. d. ArrayList、LinkedList的区别

  6. e. 项目中用到了哪些设计模式,如何使用

  7. f. Thread和Runnable的区别和联系

  8. g. 介绍下常用的线程池,线程池的工作机制是什么,线程池工作原理是什么

  9. h. 线程池的拒绝策略(RejectExecutionHandler)

  10. i. 线程池中的几种重要的参数及流程说明

  11. j. BlockingQueue【缓冲队列】使用过吗,常用的几种BlockingQueue有哪些

  12. k. Collection 和 Collections的区别

  13. l. jvmGC是什么? 为什么要有GC?GC是在什么时候,对什么东西,做了什么事情?

  14. m. 分别对异常事件error和exception的理解,Throwable和它们的联系

  15. n. Java中什么是多态

  16. o. java的反射机制

  17. p. java的动态代理

  18. q. 怎么创建mysql的表索引

  19. r. 什么是Servlet?他们有什么作用?如何管理Session和Cookie?所有的请求都在共享Servlet和Filter吗?

  20. s. 面向对象思想的特征和特点

  21. t. 对IO流的理解,比如对象操作流/字节数组输出流/顺序流等

  22. i. 装饰(Decorator)设计模式

  23. ii. 碰到乱码怎么解决,utf-8和gbk可以直接转换么 10分

  24. u. Java内存模型

  25. v. union和union all的区别

  26. w. 工作中做过哪些SQL优化

  27. x. AVL树、红黑树的理解

  28. y. 事务,什么是事务,为何用事务 10分

  29. z. 两个项目之间如何通信 10分

40.HTTPS的实现原理

41.HTTP连接池实现原理

42.equals和hashcode重写

43.redis数据类型 redis什么线程 为什么这个线程 卡夫卡 rebiemq的区别 redis高可用看一下

44.springboot的优点

45.springboot和spring springcloud的区别 46.哈希map内部的结构