Tejas Networks 面试经历
第一轮:书面
- 递归删除连续字符
- 打印句子中单词的频率
- 给定带有 id 和 name 的 Employee 类
- 创建添加员工的方法
- 按姓名对员工进行排序
- 按 id 对员工进行排序
- 打印字符串“TJS”的所有排列
- 给定一个数组,重新排列数组中的元素,使所有偶数元素在数组中排在第一位,所有奇数排在后面,反之亦然。
第 2 轮:技术 F2F
- BST 遍历预购
- LCA——最低共同祖先
- 打印二叉树的所有边界元素
- 从字符串中删除一个字符,使其成为回文
- 二叉树的打印级顺序遍历
第 3 轮:技术 F2F
- 糟糕的概念,如抽象、封装等
- 生产者消费者
- 多线程
- 两个线程正在修改一个arrayList ..会发生什么
- 并发HashMap
- map和linkedHashMap的区别
- equals和hashcode方法的实现
- 给定同一个类的两个对象,假设 hashcode 总是返回 1,对象相等吗?
- stringbuffer 和 stringbuilder 的区别
- 字符串如何不可变?
- 对象类方法
- 你更喜欢哪一个来创建线程 ..Thread 或 runnable,为什么?
第 3 轮:技术 F2F(经理)
- 线程和进程的区别?
- Java – 通过值或引用传递?
- 我们可以将构造函数设为私有吗?
- 解释单例设计模式
- 什么是线程锁?
- 线程同步
- 给定一个排序数组,以最小最大顺序重新排列数组中的数字,而不使用额外的 O(n) 内存并保持时间复杂度最小