首页 > 其他分享 >面试汇总一

面试汇总一

时间:2022-09-27 16:45:15浏览次数:78  
标签:子串 HashMap 汇总 TreeMap 面试 线程 Hashtable static

1、手机刷抖音,播放视频的时候突然卡住了,可能是什么原因。

(1)网络问题:弱网情况/WIFI切换为4G/手机无流量;
(2)手机缓存问题:清理手机后台;
(3)抖音后台出现问题;
(4)手机配置过低

2、cookie基础知识

Cookie是客户端储存的,即浏览器存储;
Cookie是可见的,在浏览器设置-历史纪录中能看见,能手动清除Cookie,且cookie以明文储存信息;
Cookie储存量很小(单个cookie保存的数据不能超过4K);
Cookie有效期20分钟左右

 3、查找两个字符串的最长公共子串的答案

第一轮
从s1中依次取出1个字符,在s2中查找,看是否能够找到子串。如果没有一个字符在s2中找到,说明就没有公共子串,直接退出。如果找到了至少一个公共子串,则很可能还有更长的公共子串,可以进入下一轮。
第二轮
然后从s1中取连续的2个字符,在s2中查找,看看能否找到公共子串。如果没找到,说明最大公共子串就是上一轮的任意一个就行了。如果找到至少一个,则说明公共子串可能还有更长的,可以进入下一轮。

4、Java基础: static 和final关键字作用

final:被final修饰的类不能被继承、重写、改变
static:被static修饰的变量、被static修饰的方法统一属于类的静态资源,是类实例之间共享的;被static修饰的变量或者方法属于类变量或者类方法

5、在写Python脚本中为什么会出现中文乱码的情况?如何解决?

由于编码不一致导致的,存储的是用utf-8,打印的时候用gbk就会乱码了,所有要保证不乱码尽量保持统一,建议全部使用unicode。
encoding=utf-8

6、学生选课系统,设计数据库,需要有几张表及每张表中的字段

课程表、学生表、教师表
课程表 id、student_id、course_name
学生表 id、name、age、grade、major
教师表 id、teacher_name、course_id

7、Sql左右链接查询

left join on 
以左表为主表,查询出满足条件的内容。查询到的内容是左表全部的内容,和右表满足要求的内容。可能会出行右表内容为为空的可能。 inner join on
查询到的数据是两个表中都存在的数据,不存在一方为空的情况。两个表的位置不影响查询 right join on
以右表为主表,查询出满足条件的内容。查询到的内容是右表全部的内容,和左表满足要求的内容。可能会出行左表内容为为空的可能。
左连接和右连接是相反的情况,调换表的位置,就相当于调换了表的连接方向

 8、广东部分移动用户反馈无法刷新今日头条的信息流,并且总是网络错误。可能是什么原因导致的?

用户手机欠费
用户为打开网络,或者用户手机本身接收网络信号不好
同一时间,刷新消息的用户超过了最大并行数,导致信息流刷不出来
用户操作太频繁,导致无新消息可刷
用户没有打开今日头条的网络操作权限

9、HashMap的原理及应用

HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。
JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突).JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)时,
将链表转化为红黑树,以减少搜索时间。 Java为数据结构中的映射定义了一个接口Map,主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap。 针对这4个实现类做个简单的说明: (1) HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 HashMap最多只允许一条记录的键为null,允许多条记录的键值为null。HashMap
非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要满足线程安全,通常使用ConcurrentHashMap代替。 (2) Hashtable:Hashtable是遗留类,很多映射的常用功能与HashMap类似,不同的是它承自Dictionary类,并且是线程安全的(方法上使用悲观锁synchronized),任一时间只有一个线程能写Hashtable,并发性不如
ConcurrentHashMap,因为ConcurrentHashMap引入了分段锁。Hashtable不建议使用,不需要线程安全的场合可以用HashMap替换,需要线程安全的场合可以用ConcurrentHashMap替换。 (3) LinkedHashMap:LinkedHashMap是HashMap的一个子类,保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的,也可以在构造时带参数,按照访问次序排序。 (4) TreeMap:TreeMap实现SortedMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序。如果使用排序的映射,建议使用TreeMap。在使用TreeMap时,key必须实现Comparable接口或者在构造TreeMap
传入自定义的Comparator,否则会抛出ClassCastException类型的异常。

10、Android crash问题的常见原因

Java Crash
java代码导致jvm退出,弹出“程序已经崩溃”的对话框,最终用户点击关闭后进程退出。Logcat会在“AndroidRuntime”tag下输出Java的调用栈。
空指针/数组越界/格式化输出参数错误/缓冲区溢出/内存管理错误

 

标签:子串,HashMap,汇总,TreeMap,面试,线程,Hashtable,static
From: https://www.cnblogs.com/dmmforever/p/16732293.html

相关文章