趋势科技后台开发三面凉经

流程:
- 9.7投简历
- 9.12笔试,算法2道没有ak,只a了1.71,第2道dfs超时,没有用贪心法
- 9.18上午连续三面,总时长长达3个小时,中间没有休息,震惊!!!🤣
- 9.21午觉醒来就收到感谢信了。

------------------------------------我是分割线-------------------------------
一面:主要怼项目和数据库(大概55mins)
1、自我介绍;
2、介绍一下实习项目和自己做的个人项目(说了很久);
3、sql调优(只回答了索引那块,explain查询sql的执行计划);
4、hash索引和b+树索引的区别;
5、b+树查询记录的过程;
6、docker中的MySQL、redis挂了咋办,docker挂了咋办(写脚本定时任务检查,重启,通过日志恢复数据。不知道对不对=。=)
7、共享屏幕,手动创建数据库和插入数据并查询每一科最高分数的学生姓名,一开始只写出来每科分数最大的学生姓名,即相同最高分的只查出一个,后面基本写出来,可是报语法错误,面试完后调试了一下发现是变量写错了。。(希望不要减分)
// 设计实体
// 课程,学生,课程成绩
// Student(sId, sName) Course(cId, CName) Grade(sId, cId, cGrade)
// 查询每一科最高分数的学生姓名

SELECT s1.sName,g1.cGrade,c1.`cName` FROM  Student s1, Course c1, Grade g1 
WHERE s1.sId = g1.sId AND c1.cId = g1.cId AND g1.`cGrade` IN (
	SELECT MAX(cGrade) AS cGrade FROM Grade g, Course c WHERE g.`cId` = c.`cId` GROUP BY c.`cName`
);
8、redis集群。。
9、还有其他忘记了。。。

--------------------------我是分割线-------------------------------
10点接着二面:主要怼Java基础(大概50mins)
1、没有自我介绍,吹水了几分钟;
2、java内存划分;
3、java堆划分;
4、java.IO包下有哪些类;(就说了个文件读写操作,socket网络io)
5、面向对象多态的体现;(面试官扯到c++的虚函数了🤣,大一下自学完cpp那本厚砖头,因为后面没用就忘记了😅
6、场景题:给出所有手机段号和区号(一个区号对应一定范围的段号,段号即手机11位中的前7位),要求用文件读写操作,当有手机显示在屏幕上时,立马根据手机11位中的前7位找到对应的区号,并且让文件存储的容量尽量小,手机号大概有50万数据。
答了一个不太可行的思路:将所有段号模上一个质数(哈希冲突尽量小),将所有余数相同的段号所对应的区号映射到文件名为余数的文件中,每次一个手机号来了就先取模这个质数,找到对应的文件,
遍历文件中所有不同的区号,同时去文件名为区号的文件中找是否有对应的手机号,有就直接返回区号,貌似效率不太高-_-||。
7、还有其他,忘记了。。。


----------------------我是分割线------------------------------------------------
10点55接着三面:全面考察(大概50mins)
1、自我介绍;
2、介绍一下实习做的任务;
3、公司自研的中间件和redis,rocketmq,kafka等之间的区别,在性能上有哪些提升?
4、浏览器键入一个网址,经过哪些协议?
5、将某个目录下的文件按大小倒叙输出文件名,有子目录要递归打印。这里提供一下我当时手撕出来的代码,自己测了一下好像没问题🤣
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class T2 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String directName = "D:\\opt";
		dfs(directName);
	}

	static long dfs(String directName) {
		File file = new File(directName);
		if (file == null || !file.exists())
			return 0L;
		long res = 0L, siz;
		List<Node> nodes = new ArrayList<Node>();
		Node curNode;
		if (file.isDirectory()) {
			File[] list = file.listFiles();
			for (File item : list) {
				siz = dfs(item.getAbsolutePath());
				res += siz;
				curNode = new Node(item.getName(), siz, item.isDirectory());
				nodes.add(curNode);
			}
		} else {
			res = file.length();
			curNode = new Node(file.getName(), res, false);
			nodes.add(curNode);
		}
		nodes.sort((o1, o2) -> {
			return o2.siz - o1.siz < 0 ? -1 : 1;
		});
		System.out.println(nodes);
		System.out.println("======================");
		return res;
	}
}

class Node {
	String name;
	long siz;
	boolean isDirect;

	public Node(String name, long siz, boolean isDirect) {
		this.name = name;
		this.siz = siz;
		this.isDirect = isDirect;
	} public String toString() {
		return (this.isDirect ? "目录名为:" : "文件名为:") + name + (this.isDirect ? ",目录大小为:" : ",文件大小为:") + siz + "\n";
	}
}
6、设计模式了解多少,有多少说多少?
7、tcp和udp的区别;
8、反问环节(问手里有offer没,考虑异地嘛)(0offer选手)
9、....问的细碎知识点还是挺多的,暂时忘记了

总结:基础知识有待巩固,一二面面试官人挺好的,三面面试官有点严肃。秋招第一个三面完,许愿给个offer吧!
--------------9.21午觉醒来就收到感谢信了,我太难了,秋招第三封感谢信,目前0offer-------------

#面经##校招##趋势科技##Java工程师#
全部评论
看来面试真的是玄学,已拿趋势offer,当时查面筋,感觉好难,结果到我的时候。。。好简单,估计面试官都不是java的。当时出了道算法题,我刚刷过,对面“你可以先想想”还没说完我说不用了就开始阿巴阿巴说了2种做法,感觉面试官都蒙了哈哈
2 回复
分享
发布于 2020-09-27 14:44
楼主的三面是一面完成以后加的吗,还是一开始就通知有连续三个面试?
点赞 回复
分享
发布于 2020-09-18 18:47
乐元素
校招火热招聘中
官网直投
我也是0offer选手,但是楼主coding能力比我强多了😂
点赞 回复
分享
发布于 2020-09-20 12:57
楼主有拿到offer通知吗
点赞 回复
分享
发布于 2020-09-20 20:39
突然看到这个 我的三面被问信息安全还过了。。你这个手撕太狠了。。要我我就无了
点赞 回复
分享
发布于 2020-09-22 16:22
楼主你是硕士吗,感觉好多中间件啊
点赞 回复
分享
发布于 2020-09-23 12:37
这也太难了。。
点赞 回复
分享
发布于 2021-08-23 22:35

相关推荐

4 24 评论
分享
牛客网
牛客企业服务