5.12
算法题
- 股票问题拓展,需要输出买入和卖出的时间
Java
- 堆排序是怎么实现的?大顶堆是怎么实现的?
- maven是做什么
- Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。Maven 的一个核心特性就是依赖管理
- 注解是干什么的
- 注解什么时候不生效?注解的本质是什么?
- 知道现在流行的框架是什么吗?(答了springboot)spring mvc 和springboot有什么区别?
- 创建线程的几种方式。哪一种更常用。为什么。
- 方式有:
-
- 实现 Runnable 接口,实现接口中的 run() 方法,使用 Runnable 实例再创建一个 Thread 实例,然后调用 Thread 实例的 start() 方法来启动线程。
-
- 实现 Callable 接口,与 Runnable 相比,Callable 可以有返回值,返回值通过 FutureTask 进行封装
- 3. 继承Thread类,实现run() 方法。
- 实现接口的方法更好,因为:
-
- Java 不支持多重继承,因此继承了 Thread 类就无法继承其它类,但是可以实现多个接口;
-
- 方便同一个对象被多个线程使用
-
- 类可能只要求可执行就行,继承整个 Thread 类开销过大。
MySQL
- mysql是怎么存储数据的?数据结构?
- 答案还是不明确。实际上数据库是用来持久化存储数据的,本质上数据库就是一个文件系统
- 补充内容:数据库InnoDB 引擎中,其数据文件本身就是索引文件。相比 MyISAM,索引文件和数据文件是分离的,其表数据文件本身就是按 B+Tree 组织的一个索引结构,树的叶节点 data 域保存了完整的数据记录。这个索引的 key 是数据表的主键,因此 InnoDB 表数据文件本身就是主索引。这被称为“聚簇索引(或聚集索引)”,而其余的索引都作为辅助索引,辅助索引的 data 域存储相应记录主键的值而不是地址,这也是和 MyISAM 不同的地方。在根据主索引搜索时,直接找到 key 所在的节点即可取出数据;在根据辅助索引查找时,则需要先取出主键的值,在走一遍主索引。 因此,在设计表的时候,不建议使用过长的字段作为主键,也不建议使用非单调的字段作为主键,这样会造成主索引频繁分裂。
- 索引的作用是什么?为什么建索引?索引的数据结构?
- 答:索引是一种用于快速查询和检索数据的数据结构。建立索引可以提高数据检索的效率,降低数据库的IO成本。通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。数据结构是B+树。详细存储情况见上一条。
- 给你一句话,怎么建索引:
select * from user where a=1 order by update_time desc limit 100
- 答:
CREATE INDEX idx_a_update_time ON tb_seller(a,update_time);
不确定对不对,设计索引原则:①最佳候选列应当从where子句的条件中提取②组合索引可以提升查询效率
- SQL注入是什么
计网相关
- 浏览器输入网址后都发生了什么?
- 浏览器是怎么解析返回来的资源的? -答:参考链接
1. 浏览器使用词法分析器和解析器将HTML内容解析生成DOM Tree。
2. CSS资源会解析成CSS Rule Tree。
3,JS通过DOM API和CSSOM API来操作DOM树和CSS树。
4,解析完成后综合DOM树和CSS树会生成Rendering Tree(渲染树),计算每个元素(Frame)的位置,这个过程就是layout(布局)过程。
5,调用操作系统Native GUI的API绘制。
- 动静分离是什么?
- 参考链接
- 静态页面,是指互联网架构中,几乎不变的页面(或者变化频率很低):首页等html页面、js/css等样式文件、jpg/apk等资源文件。静态页面访问路径短,访问速度快,几毫秒
- 动态页面,是指互联网架构中,不同用户不同场景访问,会动态生成不同的页面,如搜索结果,个人订单页等。动态页面访问路径长,访问速度相对较慢(数据库的访问,网络传输,业务逻辑计算),几十毫秒甚至几百毫秒
- 动静分离:静态页面与动态页面采用不同的架构设计方法
- 静态资源存放在哪里?
- 答:有的说文件系统(磁盘),有的说内存。面试官的意思,听起来像内存。。
- HTML都有哪些组成部分?
- 网络攻击有哪些?
- cookie和session的区别。
-
- session用于存储一次会话的多次请求的数据,存在服务器端;Cookie在客户端
-
- session没有数据大小限制,Cookie有
-
- session数据安全,Cookie相对于不安全
- 什么时候用cookie,什么时候用session
-
- 一次请求可以使用cookie,多次请求必须使用session存储数据
-
- 重定向必须使用session存储数据
- DNS,TCP/IP具体工作流程