timeline
8.13 笔试
8.28 面试
9.11 收到意向书
笔试 8.13
a了不到3道题
前两题的题目和全a代码如下,水平有限,只能解出前两题
第一题
请在这里输入引用内容
无人机施肥,农田共有n行,无人机携带了m千克肥料。无人机的施肥方式为:
给第一行施肥1kg;
给第二行施肥1kg;
...
给第n - 1行施肥1kg;
给第n 行施肥1kg;
然后更改方向给第 n - 1 行施肥1kg;
给第 n - 2 行施肥1kg;
即每次给整个农田施一遍肥料,就会自动更改方向继续施肥,直到无人机携带的肥料用完为止。
现在想知道每行最终施了多少肥料。
输入:农田行数n 和 肥料数m。
输出:每行施肥的数量,为一个数组。
例:
输入:4 6
输出:1 2 2 1
思路
模拟,注意题意表示一次施肥到最后一行然后返回,把(2 * n - 2)当作一次来回,第二次再从头开始施肥。则num = m / (2 * n - 2)
表示来回的次数。
还需要判断剩余肥料的位置,可能从第一行没走到最后就没有肥料了,还有可能到最后一行再返回。
代码
public class Main08132 { static int[] res; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); res = helper(n, m); for (int i : res) System.out.print(i + " "); } public static int[] helper(int n ,int m){ int num = m / (2 * n - 2); int l = m % (2 * n - 2); res = new int[n]; for(int i = 0; i < n; i++){ res[i] = num; } for(int i = 1; i < n - 1; i++){ res[i] += num; } if(l == 0) return res; else if(l <= n - 1){ for (int i = 0; i < l; i++){ res[i] += 1; } }else{ long q = l - n; for (int i = 0; i < n; i++){ res[i] += 1; } for (int i = n - 2; i > n - 2 - q; i--){ res[i] += 1; } } return res; } }
第二题
单词包括大小写,按出现次数排序,若次数相同按字典序排序
代码
import java.util.*; public class Main0813 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.nextLine(); List list = new ArrayList(); for(int i = 0; i < n; i++) { list.add(sc.next()); sc.nextLine(); } Map map = new HashMap(); for(String s : list){ String str = s.toLowerCase(Locale.ROOT); map.put(str, map.getOrDefault(str, 0 ) + 1); } PriorityQueue> queue = new PriorityQueue(new Comparator>() { @Override public int compare(Map.Entry o1, Map.Entry o2) { if(o1.getValue() == o2.getValue()) return o1.getKey().compareTo(o2.getKey()); else return o2.getValue() - o1.getValue(); } }); for(Map.Entry entry : map.entrySet()){ queue.add(entry); } Map.Entry en = queue.peek(); System.out.println(en.getKey() + " " + en.getValue()); } }
面试 8.28
一天走完流程,两轮技术面+一轮hr面,平台都是牛客
一面 40min
自我介绍
对于测试开发工程师怎么理解?
为什么想从事这个职业?
项目中遇到了什么困难?怎么解决?
对于登录测试用例如何设计?
知道哪些测试方法?
前台输入正确的用户名和密码但没有跳转可能是什么原因?
(这个我答得不好,只说了看response和代码,大佬们会咋答呢😂项目中为什么用MyBatis框架?
单元测试和接口测试怎么做的?
用的什么数据库?掌握什么语言?
做道题吧,给10分钟。。。两道题都贼长,我花了15.6分钟吧,面试官也没说什么👀sql题
获得积分最多的人(一)
刚发现是牛客原题。。不过也不难,两次查询即可。
代码
select u.name, a.sum_grade from user u, (select user_id, sum(grade_num) as sum_grade from grade_info group by user_id order by sum_grade desc limit 1) a where u.id = a.user_id;
算法题
比较版本号
确认过眼神,是我没做过的题了。。读题花了好久,用parseInt转成Integer比较的,提交没有通过全部用例,超过整数范围了。。
不过面试官小哥哥觉得没大问题,就进入反问环节了。(愉快.jpg
- 反问
哪个部门?说是装修的
团队规模?这个问了但是记不清了。。
面试完两分钟就收到下一轮面试邀请,不过进入房间等了半小时才等来面试官,也理解安排时间比较紧凑面试官肯定连轴转。
---------------------------------------我是分割线--------------------------------------------------
二面 30min
可能稍微有些压力面,面试官会随时打断说话。
自我介绍
(没说完就打断问问题了项目怎么做的?遇到了什么难点?
用到MySQL数据库建立了什么索引?(我回答主键索引和唯一索引
主键索引和唯一索引有什么区别?主键索引不能代替唯一索引吗?
(这答得不好面试官就会一直追问。。直到我说没想过😭对事务的处理?Java怎么实现事务?
(没理解问题啥意思,给他讲了MySQL的事务MySQL的索引
(想到什么说什么了为什么通信要转测开?
觉得你回答问题很程序化,有人这么跟你反馈过吗?
(。。。当时有些无语,但面上还是笑着说我觉得认真思考分条回答表示我对面试的认真和严谨觉得自己有什么劣势吗?
反问
没撕代码还以为凉了呢,反问时又问了面试官部门业务,回答的特别仔细,还说了贝壳的核心和其他业务,然后感觉自己还有戏,嘻嘻😁
---------------------------------------我是分割线--------------------------------------------------
hr面 13min
- 自我介绍
- 工作地点意愿
- 有什么兴趣爱好
- 本科和研究生社团经历
- 对就业公司看中什么?说出三点
- 手里有什么offer?
- 可以提前来实习吗?
- 反问
问了什么时候通知面试结果?hr说两周内。
总结
两个半小时走完流程蛮爽的,面试官态度比较好,面试难度也还好,等待ing
最后想问一下大家
前台输入正确的用户名和密码但没有跳转可能是什么原因?
---------------------------------------我是分割线--------------------------------------------------
9.5 hr小姐姐加了微信说下周会发意向书
全部评论
(6) 回帖