面试内容:思维考察题(C++程序题,Java程序题,数学题)、计 、Linux命令、MySQL、Redis、排序题、Java语言题(Swing GUI工具包、内存优化)、算法
1、思维考察题
1)log_{2}{x}与x^(2/3)哪一个更高阶^(2/3))
相除取极限,洛必达法则
2、计
1)软件体系结构中使用http协议进行通信的结构/S结构)
C/S结构:每台客户机全部须要安装相对应的客户端程序,(APP)
B/S结构:只安装维护一个服务器(Server),而客户端选用浏览器(Browse)运行软件,基于统一的应用层协议HTTP来交互数据。( 站)
3、Linux命令
1)centos安装apache
yum install httpd
2)把任务从后台切换到前台
-
命令 + &,&表示让进程在后台运行
-
jobs ,查看后台运行的进程
-
fg %n, 让后台运行的进程n到前台来
-
bg %n, 让进程n到后台去
5. kill %n, 杀死job
PS:”n”为jobs命令查看到的job编 ,不是进程编 .
fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的.
3)chgrp, chown, chmod
chgrp: 设置文件所归属的组
chown: 设置文件所有者和文件关联组
chmod: 设置用户对文件的权限
Linux chmod 命令 | 菜鸟教程
4、MySQL
1)游标的结果集是由执行什么语句产生的ELECT)
5、 Redis
1)Redis存储对象使用什么结构ash)
6、排序题
1)稳定排序中,空间复杂度为O(1)的排序(直接插入排序)
7、Java语言题
1)Java性能优化的方法:
a. 尽量确定StringBuffer的容量
b. 尽量在合适的场合使用单例
单例模式讲解:单例模式 | 菜鸟教程
c. 尽量避免随意使用静态变量
d. 尽量避免过多过常的创建Java对象
e. 慎用synchronized,尽量减小synchronize的方法
f. 尽量使用StringBuilder和StringBuffer进行字符串连接
g. 单线程应尽量使用HashMap、ArrayList
h. 尽量在finally块中释放资源
i. 尽量使用移位来代替’a/b’的操作
2)透明模式
结构: (1)Component(抽象构件):
可以是接口或抽象类,为叶子构件及容器构件提供共有行为的声明。抽象构件中定义了访问及管理它的子构件的方法,如:新增、删除、获取子构件。
(2)Leaf(叶子构件):
实现抽象构件中定义的行为。无子节点。
(3)Composite(容器构件):实现抽象构件中定义的行为,包括那些访问及管理子构件的方法。容器节点包含子节点,可以是子节点,也可以是容器节点。
透明模式是把组合使用的方法放到抽象类中,不管叶子对象还是树枝对象都有相同的结构,这样做的好处就是叶子节点和树枝节点对于外界没有区别,它们具备完全一致的行为接口。但因为Leaf类本身不具备add()、remove()方法的功能,所以实现它是没有意义的。
8、算法
1)Hash匹配算法的时间复杂度是多少(n-m),其中n是原串str的长度,m是模式串model的长度)
简单理解:Hash字符串匹配_Elltor的博客-CSDN博客_哈希匹配
深度理解:字符串哈希 – OI Wiki
个人理解:
一般计算Hash的方法:
假设要计算”xyz”这个字符串的Hash值,那就是计算 xb^2+yb+b
因此匹配过程就是计算出模式串的Hash值,然后依次计算原串str[0:m]、str[1:m+1]、…str[n-m:n]的Hash值(计算一次Hash值算作O(1))。
因此时间复杂度是O(n-m)
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92925 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!