今天面试Java开发,挑选一些比较可能在之后还会碰到的面试题。
1、string的一些方法:indexOf(),trim(),replace(),split(),charAt(),length(),equals(),subString(),toLowerCase(),toUpperCase(),getBytes()。
这些方法只要回答三到五个的样子就差不多了。
2、HashMap的实现原理:1、hashmap是基于哈希表的map接口的非同步实现;2、这一实现提供所有可选的映射操作,并且运行null键和null值;3、映射的顺序是不一定的;4、hashmap是数组和链表的结合体,也就是比较常说的key-value;5、使用put方法插入元素的时候,根据key的hashcode重新计算hash值,根据hash值获取这个元素所在的位置即下标;6、如果该位置已经有值了,将会以链表的形式存放,新加入的放在链头,最开始加入的放在链尾。7、如果没有值,就直接放到对应的位置即可。
3、创建线程的方式:1、继承Thread类;2、实现Runnable接口;3、Callable和Future。
4、序列化:简单地说就是保存内存中的各种对象的状态,并且可以把保存的对象状态再次读出来。
5、需要序列化的情况:1、把内存的对象状态保存到文件或者数据库中;2、想要用套接字在网络上传送对象;3、通过RMI传输对象。
6、springmvc的流程:1、用户发送请求被前端dispatcherServlet捕获;2、解析url;3、根据url调用controller中对应的方法;4、controller执行方法之后返回一个modelandview对象;5、前端的dispatcherServlet选择一个viewResolver进行解析;6、viewResolver根据model和view渲染视图。7、将渲染结果返回给用户。
7、反射:反射就是把Java类的各个成分映射成一个个的对象。
8、10 10 4 4 得到24:(10*10-4)/4=24
9、springboot的注解:@SpringBootApplication @EnableAutoConfiguration @Autowired等
10、数据库:select 字段 from table where 字段=字段 and 字段=字段