广州三本找Java实习经历 (3)

广州三本找Java实习经历

话说{\'java\',\'javascript\'}这个在JavaScript算什么?会的麻烦在评论区告诉我一下哈~~

对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列属于访问控制属性的是:

A. public

B. private

C. protected

D. volatile

解析:选择ABC

这题Java基础题,就很简单了。volatile是一种轻量级的同步机制。

以下集合对象不是线程安全的:

A. ArrayList

B. Vector

C. Hashtable

D. Stack

解析:选择A

这题也很简单,如果对集合不太了解的同学可看我之前写过的集合文章:https://segmentfault.com/a/1190000014403696

下面描述正确的是(多选):

A. session是代表与用于某个web应用程序相关的对象和属性

B. request代表与Web客户机发出的多个请求相关的对象和属性

C. page代表与web客户机的一次请求

D. application代表与整个Web应用程序相关的对象和属性

解析:选择AD

request代表与Web客户机发出的一个请求相关的对象和属性

page代表与一个页面相关的对象和属性

下列对正则表达式描述正确的是:

A. \D匹配一个数字字符

B. \s匹配任何不可见字符,包括空格,制表符,换页符等等

C. \t匹配一个换页符

D. \n匹配回车换行符

解析:选择B

\D匹配一个非数字字符

\s匹配任何不可见字符,包括空格、制表符、换页符等等

\t匹配一个制表符。

\n匹配一个换行符。

\r匹配一个回车符

Linux解压的命令(多选)

A. tar zxvf filename.tar

B. gzip -d filename.gz

C. gzip filename

D. tar czxf filename.tar

解析:选择AB

考察Linux的解压命令

2.2笔试简答题

已知一个包含10个随机数字的数组,数字不重复,给定其中的两个随机数,获取这两个数在随机数组从小到大排序后在数据中的坐标值。时间复杂度尽量低一些

使用快排的partition,将给出的随机数做基准值返回的坐标就是了。两个随机数就调用两次快排的partition。

// 支点左边都比支点小,支点右边都比支点大 public int partition(Integer[] nums, int target) { int lt = -1;//[0,lt]<target int gt = nums.length;//[gt,nums.length-1]>target int i = 0; while (i < gt) { if (nums[i] == target) i++; else if (nums[i] < target) { lt++; swap(nums, i, lt); i++; } else { gt--; swap(nums, gt, i); } } // 返回支点的坐标 return gt - 1; } private void swap(Integer[] nums, int i, int j) { int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; }

上边代码由HoldGone友情提供!

Error,Exception,RuntimeException区别

这部分的资料就很多了,我这里就不详细答了。参考一下吧:

https://blog.csdn.net/zdwzzu2006/article/details/6568600

有一亿条记录,每条记录有id,ip,时间组成。设计一个系统能够快速查询以下内容:给定ip和时间段(精确到分钟)统计ip的访问次数,请写出创建SQL的语句

答:首先,1000亿条记录全部放到内存肯定不够,那就是分成小文件了,然后整合;
公共的时间段,因为精确到分钟,我们把这每一分钟建成一个小文件,每个小文件肯定会有许多重复的ip,url;
现在统计每个小的文件中url的访问量和ip的访问次数,方法就是建立索引;
(建立索引的目的是为了减少查询次数,但是随着索引级数增多也会造成花更多的时间在建立索引上);
建立url的索引,假如是,可以分别给和question建立索引,那么来了一条url,先看一级索引是不是匹配,匹配再看二级索引,相同的话就是我们要的url目标;
ip的索引也是一样,ip分成4段建立索引;
所以这里影响效率的就是在索引建立这块,索引建立好那就是查询的事了的,就会变得非常快。
假定给定了某个时间段,找出url的访问量,那么先找到给定的时间段,对应着刚开始分割的小的文件(每一个分钟)中搜索,通过索引找到相同的url之后,开始统计,直到搜索完所有的给定时间段内的所有的小的文件;
求ip的访问次数也是一样,按照给定的时间段,找到对应的小的文件,通过索引找到相同的ip后统计,直到搜索完了给定时间段内的所有的小的文件。

链接:https://www.nowcoder.com/questionTerminal/5b47d462f04c4e43960fd9e52da93ab7?orderByHotValue=1&pos=4&tagId=0
来源:牛客网

2.3初面

简单介绍一下你自己

面向对象有什么特性?你如何理解面向对象的

面向对象与面向过程哪个更好写?

谈谈AOP,AOP在实际项目/实际能做什么?

如果让你实现Spring的缓存@Cacheable,你会怎么实现?(面试官想问的是AOP,我把他带到Map那边了)后来才说到了AOP。

索引是怎么提高查询的性能的?具体来说说索引。

既然说String是不可变的,那么String s = "aaa",为什么同样可以执行 a = "bbb"?

String是怎么做到不可变的?final修饰的类中的成员变量是否可变?确定吗?String什么时候被销毁?

看你使用过Nginx,讲讲Nginx。正向代理与反向代理有什么区别?

看你使用过RESTful,讲讲PUT/GET/POST/DELETE分别的含义,使用RESTful和非RESTful的URL有什么区别?

看你用过Elasticsearch,你知道bool是什么吗?Elasticsearch能使用root用户执行吗(我回答的是可以)?为什么?用root用户执行和其他用户执行有什么区别?

你项目是部署到Linux的,你记得Linux修改权限的命令是什么吗?读写执行分别代表的是什么?777,每个7的代表什么。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgjyzf.html