传化
时间:笔试60分钟
题型:有单选择题,填空题,编程题,自由回答题
感悟:基础不扎实,任重道远
记录部分题
Ⅰ.查找最短匹配字符串(20分)
三种方法
浓缩版
开辟255注释详细版
题目描述:
代码如下:
class Solution {
public String minWindow(String s, String t) {
if(s.length()<t.length() || s.length()==0 || s ==null || t == null || t.length() == 0)
return "";
//模拟哈希表,存储目标字符串的各个字符的个数
int[] map = new int[255];
for(int i=0;i<t.length();i++){
map[t.charAt(i)]++;
}
//双指针遍历源字符串s
int begin = 0,end = 0;
//最小字符串的起点
int minBegin = 0;
//最小字符串的长度
int res = Integer.MAX_VALUE;
//用来记录匹配到字符的个数,如果count == t.length()意味着找到一个匹配的字串
int count = 0;
//遍历
while(end < s.length()){
//这里可理解为缺失字符的个数,==0时则表示 这个字符匹配够了,>=1则表示仍需要再匹配一个该字符
if(map[s.charAt(end)]>0)
count ++;
//不需要匹配的字符,其值此时小于0
map[s.charAt(end)]--;
//尾指针右移
end++;
//匹配到一个字串
while(count == t.length()){
//比较字串长度,更新字串信息
if(end - begin < res){
res = end - begin;
minBegin = begin;
}
//如果首指针对应字符是目标字符之一,则跳出循环
if(map[s.charAt(begin)] == 0)
count--;
//首指针对应字符的哈希值还原
map[s.charAt(begin)]++;
//首指针右移
begin++;
}
}
return res == Integer.MAX_VALUE? "" :s.substring(minBegin,minBegin + res);
}
}
Ⅱ.数据库
这块精准打到我的盲区,我实践得到:t1:
t2:
SQL1:SELECT t1.id,t1.a,t2.b FROM t1,t2 WHERE t1.id = 2;
SQL2: SELECT id,a,(SELECT b FROM t2 WHER t2.id = t1.id) FROM t1;
Ⅲ.类的加载顺序
原题忘记了,以下链接定有所获。
类加载
结论版
大概代码如下:
public class Father2 {
static
{
System.out.println("爸爸在静态代码块");
}
public Father2()
{
System.out.println("我是爸爸~");
}
public void F2()
{
System.out.println("爸爸f2~");
}
public void F3()
{
System.out.println("爸爸f3~");
}
private void F4()
{
System.out.println("爸爸f4~");
F2();
F3();
}
}
class Son extends Father2
{
static
{
System.out.println("儿子在静态代码块");
}
public Son()
{
System.out.println("我是儿子~");
}
public void F2()
{
System.out.println("儿子f2~");
}
public void F3()
{
System.out.println("儿子f3~");
}
public static void main(String[] args) {
Son son = new Son();
son.F2();
son.F3();
Father2 father2 =(Father2) son;
father2.F2();
father2.F3();
}
}
爸爸在静态代码块
儿子在静态代码块
我是爸爸~
我是儿子~
儿子f2~
儿子f3~
儿子f2~
儿子f3~
结局是比较惨烈,编程题遇到过依旧不会解决,mysql一直是弱项,类加载马马虎虎。
新国都
时间:90分钟/100分钟 (大概)
题型:单选+多选+编程+简答
只记录我的困惑和惨烈,当然还是要有进步和所得(发现不会的知识挺多,有时候不能埋怨外界环境,还是自身本领不到位啊)
扎实基础很重要,还有一定要自圆其说,画饼就实现饼。
1.JVM配置参数
阿里云JVM
截图:
2.return XX;
try{
........
return X;
}catch (....) {
......
}finally {
......
return XX;
}
3.编译出错
static String s = "....";
static int i = 456;
public static void main(String[] args){
........
static int c = 2;
sout(s + i + c);
}
4.标识符可以以$开头(基础不扎实啊啊啊啊)
编程题等考试结束了再添加哈 也有可能会忘记~
初面
这个初面不涉及技术,只是问基本情况+接受出差+有什么疑问
虽然这个面试没有设计技术,但是通过这次机会,我第一次回头看我的简历东西,比如我准备了自我介绍,加实习公司情况+项目+技术栈,也是有所获。
总的一句,要焦虑要推动要学习要扎实工作会有还不错。