zoukankan      html  css  js  c++  java
  • 【汉得java开发笔试回忆总结】

    21届

    hand

    汉得的笔试题java基础考察不多,大多是多线程,锁,数据结构和算法,架构内容也有一些

    总之自己这波答的很不好,所以想写记录一下(小题全凭记忆仅供参考)

    1. 大概两道左右的选择题选项都是关于servlet:一个是生命周期内的方法,一个是filter,我就直接根据知识点来记录了

    1.1 关于servlet生命周期与方法

      创建时,执行一次init方法;(对)

      提供服务:每次访问servlet时,service方法都会被调用一次(对)

      被销毁时:执行一次destroy方法(服务器正常关闭时,servlet被销毁,此时会执行)(对)

      servlet初始化后,通过service方法判断调用doGet或doPost方法处理请求(对)

      通过调用servlet的destroy方法直接回收资源(错)

      注意:destory方法只是表示servlet结束,并指明哪些资源可以被回收,资源的回收是由 JVM 的垃圾回收器进行垃圾回收的  

    1.2 关于filter

      filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应;

      filter能够在一个请求到达servlet之前预处理用户请求,也可以在离开servlet时处理http响应;

      (所以说filter其实可以理解为套在servlet外的一层过滤网)

      在执行servlet之前,首先执行filter程序,并为之做一些预处理工作;

      根据程序需要修改请求和响应;

      在servlet被调用之后截获servlet的执行

      filter能够在一个请求到达servlet之前预处理用户请求,也可以在离开servlet时处理http响应。(对)

      filter是servlet(胡言乱语。。)(错)

    2.关于数据库给某用户授予select和insert权限语句是:

    grant select,insert on dbname.employee to joe@10.163.225.87 identified by '123';//dbname是数据库名,employee是表名,用户是joe@10.163.225.87,123是口令

    3.关于多线程与锁

      关键字synchronized:同步锁(也叫互斥锁)

      进程互斥的原因: 因为互相竞争资源而发生了制约关系.,反正就是线程独占资源问题,和同步正好相反,(有个选项是死锁,我好像还选了,真的日了自己了,这个选项应该是说反了,发生死锁的一个条件就是互斥条件)

    4.一个单链表如何判断是否存在环

    方法一:穷举遍历,如果发现某个节点开始出现两次就存在环

    方法二:哈希表(hashSet)缓存,

    方法三:把节点都放进set集合:可以用 set 遍历链表,把节点放入set里,每次访问下个节点时,如果set长度不变,则跳出,说明有环。否则set长度+1,继续遍历。

    方法四:快慢指针:对于单链表来说,我们就可以用两个指针,一个快指针,一个慢指针,从起点出发,快指针如果在出发后追上了慢指针,那就说明单链表是存在环的


    所以判断一个单向链表中是否存在环的最佳方法是()

    • A两重遍历
    • B快慢指针
    • C路径记录
    • D哈希表辅助

    这题应该选快慢指针  https://blog.csdn.net/weixin_36795183/article/details/93890489

    5.关于 springboot配置文件同名的话生效路径优先级

    如果在不同的目录中存在多个配置文件,它的读取顺序是:

            config/application.properties(项目根目录中config目录下),maven管理的话就是这个config文件夹和pom.xml一个层级

              application.properties(直接放项目根目录下),和pom.xml一个层次

              resources/config/application.properties(放在项目resources目录中config目录下)

              resources/application.properties(项目的resources目录下)

         另外如果名字相同的话默认是properties后缀比yaml优先读取,如果同一个配置属性,在多个配置文件都配置了,默认使用第1次读取到的,后面读取的不覆盖前面读取到的。

    6.有序不重复集合:LinkedHashSet

    7.thymeleaf中th:include,th:replace等标签区别

    剩下的忘了,大题后续更

    最后是编程题两道(居然都是贪心算法):

    1.加油站问题

    这类问题力扣有,不赘述了,链接见下

    https://leetcode-cn.com/problems/gas-station/

    2. 0-1背包问题

    大概就是说餐厅送外卖,H小时内必须送达,餐盒大小不固定,每一小时都要按照体积大小分配在外卖员的外卖箱中,每一小时能送完一趟回餐厅继续装,返回能在H小时内送完外卖的最低运载能力。

    size[i]为第i个餐盒体积大小


    输入描述
    size=[1,2,3,4,5,6,7,8,9,10],H=3

    要想在三小时内送完,则箱子的容积最小为21,具体如下:

    第一小时:1,2,3,4,5,6

    第二小时:7,8

    第三小时:9,10

    输出描述
    21

  • 相关阅读:
    Hierarchy Query (Connect by) and ORA600 ([kkqcbydrv:1])
    The Steps to Create a New Oracle Database
    Change Schema Name (II)
    [转]The differences between V$UNDOSTAT and V$ROLLSTAT
    【Oracle Mgmt】Oracle Character Semantics (NLS_LENGTH_SEMANTICS) and etc...
    [Oracle Mgmt]About Oracle Password File
    Show parameter & Table Not exists
    RMAN Recovery Window and Redundancy Concept
    [PLSQL]Are you sure it will be definitely random? (DBMS_RANDOM.SEED)
    IOT, Secondary Index and Mapping Table
  • 原文地址:https://www.cnblogs.com/dabuliu/p/14552049.html
Copyright © 2011-2022 走看看