阅文笔试2021423

选择题

算法题

1.括号匹配问题:

给定字符串s,s只包含 '[' '{' '('  ')' '}' ']' 六种字符

判断s的是否合法。

类似这种 s="[{]}"不合法

思路:遇到左括号入栈,遇到右括号则出栈,

判断出栈的左括号,与当前的右括号是否匹配?

匹配则继续直到结束,字符串遍历完了就返回true。否则中途会返回false。

2.删除倒数第k个节点

快慢指针,找到倒数第k个节点的前一个节点pre。pre.next = pre.next.next; 最后返回head

特殊情况:假设删除的是头结点,则失效

因此我们新建一个节点使之指向头节点,当pre.next == head时,直接返回head.next即可。

问答题(个人理解回答):

1.sleep 和 wait 的区别

一个Thread的方法 一个Object的方法,

一个保持锁,一个丢弃锁

一个主动苏醒,一个等待唤醒

2.什么是垃圾内存?(不被使用的空间)

用什么办法找到他们?(引用计数,GCroot可达性分析)

GC算法?(复制,标记清除,标记整理)

常见垃圾回收器?(serial(新生代复制,老年代标记整理,单线程会等待) parallel(并发,增加了回收的效率) CMS(三次标记,标直接相连,标间接相连,标补充的引用,一次清除)G1(还没来得及看))

简单垃圾回收过程?

原文地址:https://www.cnblogs.com/wsZzz1997/p/14692109.html