360笔试3/21

面试内容:思维考察题(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)把任务从后台切换到前台

  1. 命令 + &,&表示让进程在后台运行

  2. jobs ,查看后台运行的进程

  3. fg %n, 让后台运行的进程n到前台来

  4. 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进行处理,非常感谢!

上一篇 2022年2月16日
下一篇 2022年2月16日

相关推荐