公司面试总结

某家公司的面试题目:

1.说一下redis的集群的安装过程

首先,将redis的安装包传到服务器上

2.为每个实例创建配置文件,比方说设置端口号,连接的超时时间,日志的启用模式等等

3.启动每个redis实例

4.使用redis-cli --cluster命令创建集群

5.我们可以使用redis-cli命令连接到某台机子上,使用cluster info或者是cluster nodes查看集群是否创建成功。

2.怎样进行sql优化,其中如果要死非得在where子句中书写计算条件的话,那应该怎么办?

原本的sql

SELECT * FROM orders WHERE price * 0.9 < 100;

改造之后的sql

SELECT * FROM orders WHERE price < 100 / 0.9;

3.aglajs用的是几版本的?

AngularJS、 Angular 2、Angular 4

4.图片轮播图是怎样做出来的

就说自己当时用到了一个定时函数setInterval()

5.jdk1.8的新特性都有哪些?

  Lambda表达式

  函数式接口

  *方法引用和构造器调用

  Stream API

  接口中的默认方法和静态方法

  新时间日期API

6.怎样解析json字符串

使用第三方类库如Jackson、Gson、还可以使用java自带的JSONObject,当然还有hutool包下面的工具类。

7.很重要的笔试选择题

面试:https://www.jianshu.com/p/995225b257ef 中科软

8.jsp中的九大内置对象(这题基本上不考了)

  1. request 对象:类型为javax.servlet.http.HttpServletRequest ,代表客户端的请求信息,用于获取客户端提交的数据,如 GET 或 POST 请求参数、请求头、请求方法等,还可获取客户端 IP 地址等信息。作用域为一次请求,请求结束其生命周期结束。例如在处理用户登录、表单提交场景中接收用户输入数据 ,通过request.getParameter("参数名")获取表单参数值。
  2. response 对象:类型是javax.servlet.http.HttpServletResponse ,用于封装服务器对客户端的响应信息。可控制发送给客户端的数据,如设置响应头、状态码,进行重定向(response.sendRedirect("目标路径") )、设置自动刷新时间等操作,作用域在 JSP 页面内。
  3. pageContext 对象:类型为javax.servlet.jsp.PageContext ,提供对 JSP 页面所有对象及命名空间的访问,能获取其他内置对象,如pageContext.getRequest()获取 request 对象等。可用于在 JSP 页面间共享数据,通过setAttribute("key", "value")设置属性,getAttribute("key")获取属性,作用域为当前页面。
  4. session 对象:类型是javax.servlet.http.HttpSession ,由服务器自动创建,用于存储用户会话信息,跟踪用户状态,如登录状态、购物车信息等。以键值对形式保存数据,内部用 Map 类实现。作用域为一次会话,从用户打开浏览器连接服务器到关闭浏览器离开服务器结束。例如用session.setAttribute("userName", "张三")存储信息 ,session.getAttribute("userName")获取信息。
  5. application 对象:类型为javax.servlet.ServletContext ,代表整个 Web 应用程序的上下文环境。可访问 Web 应用初始化参数,实现跨用户的数据共享,比如统计在线用户数、设置系统公告等。服务器启动时创建,关闭时销毁,所有用户共享这一个对象。
  6. out 对象:类型是javax.servlet.jsp.JspWriter ,是输出流,用于向客户端发送数据,管理应用服务器上的输出缓冲区。JSP 页面中 HTML 标签、文本等输出都通过它实现,如out.write("<h1>Hello World!</h1>")
  7. config 对象:类型为javax.servlet.ServletConfig ,封装了 Web 应用的配置信息,可获取 Servlet 初始化参数等。当 Servlet 初始化时,容器通过它传递某些信息给 Servlet,开发者可在web.xml中为其提供初始化参数。
  8. page 对象:类型是java.lang.Object ,实际上代表 JSP 页面本身,相当于 Java 程序中的this关键字,代表当前 JSP 页面的实例,作用域在当前 JSP 页面。
  9. exception 对象:类型为java.lang.Exception ,用于封装 JSP 页面抛出的异常信息。只有在isErrorPage="true"的页面中才可使用,在一般 JSP 页面使用会导致无法编译。

String abc=new String("hhaha");一共创建了几个对象

分两种情况:

  • 常量池中不存在 “hhaha” :会创建 2 个对象。JVM 首先会在字符串常量池中创建一个内容为 “hhaha” 的字符串对象,然后通过new关键字在堆内存中又创建一个String对象 ,这个对象的内容也为 “hhaha” 。
  • 常量池中存在 “hhaha” :仅创建 1 个对象。因为常量池中已有 “hhaha”,new关键字只会在堆内存中创建一个String对象 。

Java 引入字符串常量池是为了提高内存使用效率,避免重复创建相同内容的字符串对象。使用new创建字符串对象时,不管常量池情况如何,都会在堆上创建新对象 。

posted on 2018-11-06 16:05  ~码铃薯~  阅读(227)  评论(0)    收藏  举报

导航