2023

o0-“术语”

  • od outsourcing dispatch
  • ITO Information Technology Outsourcing

i1-hj 11月25日~11月30日

准备

机测

考点:
1、字符串处理:截取、遍历和字符的拼接,循环注意下标的准确
2、数组:排序和下标的使用
3、数学:考察基本的数学功底,注意有效数据筛选,保证时间复杂度和空间复杂度
4、栈:熟悉入栈、出栈基本操作,可以借助数组来辅助
5、链表:熟悉单项链表、双向链表的代码实现
在牛客网站相关练习题目,每种数据结构保证10道以上无辅助一次性通过

练习

上机

2023年11月30日 OD统一考试(C卷) 100% 95% 95% 385

两道1星题,一道2星题 —— 可以说非常简单了,但是没全部做完,确实不像话。

第一道1星题(100分)啥忘了,非常简单。

第二道1星题(100分)就是排序+字符串拼接,通过率95%。没满分是有一个测试案例死活通过不了,又看不到测试案例,烦死了。

按总分/科目分数排名
e.g.
输入:
2 <--- 人数
yuwen shuxue <---- 科目
xiaoming 90 90
zhangsan 1 95
shuxue <--- 排名科目
输出:
zhangsan xiaoming

第三道2星题(200分)也算是简单的题,能想到正解思路dp,但是通过率(20%)(感冒,脑梗塞;菜)。 后面用暴力穷举O(n^3)有居然95%的通过率。
(感谢出题人,测试案例安排的相当友善🙏)

答题记录:

package org.example;

import java.util.Scanner;

/**

 19点05分
 */

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        System.out.println("ss".compareTo("ss"));
        xx("4\n" +
                "1 2 3 4");
        xx("3\n" +
                "5 4 7");
        xx("7\n" +
                "0 7 1 2 3 4 5");
    }
    public static void xx(String str) {
        Scanner in = new Scanner(str);
        // 注意 hasNext 和 hasNextLine 的区别
            while (in.hasNextInt()) { // 注意 while 处理多个 case
                // int a = in.nextInt();
                // int b = in.nextInt();
                // System.out.println(a + b);
                int n = in.nextInt();
                int[] arr = new int[n];
                for(int i=0; i<n; i++) {
                    arr[i] = in.nextInt();
                }
                System.out.println(dfs(arr, 0, arr.length));
            }
        }
    static int dfs(int[] arr, int istart, int iend) {
        // if(iend-istart<3) return 0;
        // if(iend-istart==3) {
        //     for() {

        //     }
        // }
        // --------------------------------------------------
        int count =0;
        for(int i=0; i<arr.length-2; i++) {
            for(int j=i+1; j<arr.length-1; j++) {
                for(int k=j+1; k<arr.length; k++) {
                    if(arr[i]<arr[j] && arr[j]<arr[k]) {
                        count ++;
                    } else if(arr[i]>arr[j] && arr[j]>arr[k]) {
                        count++;
                    }
                }
            }
        }
        return count;
        // --------------------------------------------------

        // return A(arr) + B(arr);
    }
    // 4 3 2 1
    static int A(int[] arr) {
        int[] temp = new int[arr.length];
        for(int i=arr.length-1; i>=0; i--) {
            int count = 0;
            for(int j=i+1; j<arr.length; j++) {
                if(arr[i]>arr[j]) {
                    count++;
                }
            }
            temp[i] = count;
        }
        return C(temp, arr, -1);
    }
    // 1 2 3 4
    static int B(int[] arr) {
        int[] temp = new int[arr.length];
        for(int i=arr.length-1; i>=0; i--) {
            int count = 0;
            for(int j=i+1; j<arr.length; j++) {
                if(arr[i]<arr[j]) {
                    count++;
                }
            }
            temp[i] = count;
        }
        return C(temp, arr, 1);
    }
    static int C(int[] temp, int[] arr,int flag) {
        int count = 0;
        for(int i=0; i<temp.length; i++) {
            int x = temp[i];
            int a = arr[i];
            if(x==0) continue;
            else if(x==1) {
                continue;
            }
            else if(x==2) {
                count++;
                continue;
            } else {
                for(int j=i+1; j<temp.length; j++)   {
                    if(temp[j]>=1 && (flag>0?a<arr[j]:arr[j]<a)) {
                        count += temp[j];
                    }
                }
            }
        }
        return count;
    }
}

思考

2023年12月1日 后来想到如何获取测试样例 —— 通过判断输入,然后抛出异常(异常中包含输入)

String s = "";
while(in.hasNextLine()) {
  s = in.nextLine() + "\n";
}
if(!arr.contains(s)) {
  throw new RuntimeException("my:"+s);
}

或者对两个算法输出值对比,不一样则抛出异常

int a = 穷举(xx)
int b = 优化解法(xx)
if(a==b) return a;
throw new RuntimeException("输入:"+input+"\n输出(期望):"+a+"\n输出(实际):"+b);

i2-zc 12月1日

综测

一个性格测评。测试之前会给你一个企业文化、核心价值观之类的陈述,需要按里面的意思去答。

i3-zc 12月5日

资格测试(hr面试)

半小时左右

i4-jc2 12月7日

先技术测试二面 (因为时间原因先二面。好像说一面面试官是本部门的,二面不是本部门的。)

7点开始半小时左右

  1. 自我介绍

  2. 一道编程题(简单)

    题描述:

    你从供应商买材料,怎么买花钱最少,每个供应商,[每卖出一单位材料,材料单价+1],现在你要买n个单位的材料,怎么买价格才能最低?
    输入:{100, 200}, {9, 2}, {10, 3}, {10, 1}, {10, 3}
    n = 4
    输出:39
    上述第一行表示供应商的{材料单价,材料个数}
    第二行表示你总共要买4个单位的材料。
    

    答题: 贪心

  3. 问:

    1. 堆排序 描述
    2. redis 描述
    3. redis 大数什么?(不记得问的什么,布隆?)
    4. redis 键、string类型(尤其string比较大时)使用注意什么
    5. springcloud/微服务 描述
    6. 描述你前端开发能做到什么程度? (?)

i4-jc1 12月8日

技术一面

7点开始40分钟左右,面试官样子像大佬

  1. 自我介绍
  2. spring ioc 作用、例子
  3. aop使用注解名,使用时需要定义什么
  4. 对比struct、springmvc、springboot
  5. 对比ibatis、mybatis
  6. 对比jdbc和mybatis
  7. 之前项目亮点,具体流程描述、分析、重现
  8. docker、dockerfile、dockercompose细节 e.g. env、run 指令
  9. 情景题: 页面刷新慢怎么办?
    1. 如何确定后端问题
    2. 如何优化数据库查询、分表分库
    3. 数据库B+树
  10. 编程题: 判断回文(输入int,输出boolean是否回文) (简单)
  11. 上面题目的优化
    1. 负数的处理
    2. 如何不转字符串获取下标字符
    3. 缺省关键字protected的作用

i5-zc 12月12日

综合面试(主管面试) 大概20分钟

主要就是一些普通问题,主管看起来挺友善的(感觉跟我上个领导气质很像,巧合?大佬的共通气质?)。我个人回答的反而有点紧张。😅

  1. 自我介绍
  2. 然后挑一个项目讲讲,就介绍了我比较难的那个项目
  3. 到目前为止遇到的难点是什么
  4. 压力大如何缓解
  5. 平时有什么娱乐
  6. 未来的规划
  7. 对公司的了解
  8. 加班文化的理解 —— 我说high了,说“能不加班就不加班”,不知道会不会凉凉。
  9. 为什么接触编程;为什么写博客;
  10. 上家离职原因
  11. 你还有什么问题 —— 暂时没有。。

问的有点多,大概就记得这些

i6-sp 12月13日

收到口头offer,说薪资情况。正式流程还需要审批,大概2~3天才能收到邮箱正式offer。

准备三甲体检、租房

2023年12月14日 09点58分 昨天口头offer,今天早上刚上班就收到消息说审批通过了,正式offer今天或者明天,比想象中快~😀

2023年12月15日 收到offer~

i总结or感想

整个流程从11月25日电话机试邀请,到12月14日正式收到offer,20天,半个月左右,算不算长?感觉还ok,或者说幸好有间隔的时间让我刷题和准备八股。当然,就流程而言,hod算是我见过的最长、最多流程的面试体验了(以至于后期家人朋友都叫我要有多几手准备😅)。

除了流程长外,感觉跟我联系的hrs、接口人都非常尽心友善,感谢、感谢🙏。

最后,下面从网络整理了些相关资料,有好的有质疑的,那就让我亲自去体验吧。可能后面断断续续会有入职/工作体验记录 for self。

iother|资料整理

免责声明

所有信息整理自网络,全部论点论据未经证实,更不代表个人观点!

经验

https://bbs.csdn.net/topics/360211633

区别

周末加班有加班费
工卡 夜宵 班车
外网的权限,内部论坛资料 ilearning
股票分红
免费宿舍/租房补贴
申请公寓/心声部门文章/公告
D1绩效2-3k D2绩效3-4k D3绩效4-5k D4绩效5-6k D5绩效7-8k
od离职没n+1

工资等级对照表2022|<https://maimai.cn/article/detail?fid=1736948890&efid=B-OqWZwHHZl7krcn7VRy0Q>

转正

基本要求:
*入职时间:一年以上
*绩效要求:连续两次绩效A —— 是一年里两次考评都排在部门前10%,能做到属于火车头
*认证要求:通过可信专业级认证
*其他条件:根据业务部门的人员需求及指标要求确定

w0-rz

todo 入职

工作照

体检

填材料

合同

w1-kx

todo 可信考试