面试的岗位调剂为:测开,一面的面经之前发过
电话过来时还在午睡,约的十分钟后开始
面试官很热情,人也挺好的,对实习生都比较照顾,面试过程也基本像聊天一样。
最后明确表达了自己不愿意做测开,更想做后端开发
没有悬念,过了十几分钟流程灰了😅
这次两面一共做了5道题,感觉还是有点多
4月26日 2.30
-
自我介绍
-
简单介绍一下你的项目吧
-
说一下IOC的原理,怎么实现的
-
说一下AOP的原理,怎么实现的
-
你刚刚提到了类加载器,你能说一下Java有哪些类加载器吗,双亲委派模型,如何破坏双亲委派模型
-
Java中的OOM你知道哪些呢,都说一下吧
-
说一下你熟悉的Java中的容器和保证容器安全的容器
- 说一下Java中实现线程间通信的方法
- 你对测试开发有什么了解吗
算法题:
- 用队列实现栈
import java.util.*; import java.util.LinkedList; public class MyStack { Queue<Integer> queue = new LinkedList<>(); public void put(Integer val) { queue.offer(val); } public Integer pop() { int size = queue.size(); for (int i = 0; i < size - 1; i++) { Integer val = queue.poll(); queue.offer(val); } return queue.poll(); } public Integer top() { int size = queue.size(); Integer t = null; for (int i = 0; i < size; i++) { Integer val = queue.poll(); queue.offer(val); if (i == size - 1) t = val; } return t; } }
- 二叉树后序迭代遍历
void beh_traverse(BTree pTree) { PSTACK stack = create_stack(); //创建一个空栈 BTree node_pop; //用来保存出栈的节点 BTree pCur; //定义指针,指向当前节点 BTree pPre = NULL; //定义指针,指向上一各访问的节点 //先将树的根节点入栈 push_stack(stack,pTree); //直到栈空时,结束循环 while(!is_empty(stack)) { pCur = getTop(stack); //当前节点置为栈顶节点 if((pCur->pLchild==NULL && pCur->pRchild==NULL) || (pPre!=NULL && (pCur->pLchild==pPre || pCur->pRchild==pPre))) { //如果当前节点没有左右孩子,或者有左孩子或有孩子,但已经被访问输出, //则直接输出该节点,将其出栈,将其设为上一个访问的节点 printf(”%c ”, pCur->data); pop_stack(stack,&node_pop); pPre = pCur; } else { //如果不满足上面两种情况,则将其右孩子左孩子依次入栈 if(pCur->pRchild != NULL) push_stack(stack,pCur->pRchild); if(pCur->pLchild != NULL) push_stack(stack,pCur->pLchild); } } }
全部评论
(1) 回帖