中博网络技术_开发_笔试

小菜鸡的小厂经验又来啦~

中博网络技术,一个半小时

emmm,约的9号上午10:00笔试,8号上午突如其来的就收到了笔试邀请,措不及防,我人直接傻了……

就两道题目

第一道程序补全题如下:

【程序说明】
应用计算机处理日常事务或者是编写程序的时候,经常需要用到带有通配符的字符串匹配。

比如:linux命令行下输入,ls .txt就是列出当前目录下所有的结尾是.txt的文件。

下面一段函数实现了带有$*两种通配符的字符串的匹配功能。

其中:$表示长度大于0的数字串,表示任意长度的字符串。

要求:按照自己对于算法的理解填写该函数的5个空白。

请注意:必须是完全匹配才能返回true,比如1.txt, a.txt可以匹配.txt,2.tx或者2.txta不能匹配.txt。函数的参数与返回值的说明请参见函数的注释。

// 功能描述: 表达式是否匹配成功, $表示长度大于0的数字串,*表示任意长的字符串 
// 输入参数:@pRule, 以'\0'结束的字符串,表示规则; 
//         @pStr, 以'\0'结束的待匹配的字符串; 
// 返回值: true:匹配成功; false: 匹配失败
public class Main {
    public static boolean isRegularMatching(String rule, String str) {
        int lRule = rule.length();
        int lStr = str.length();
        int iRule = 0;
        int iStr = 0;
        while (iRule < lRule && iStr < lStr) {
        switch (_____(1)_____) {
            case '*': {
                iRule += 1;
                if (iRule >= lRule) {
                    return true;
                } else {
                    for (int i = iStr; i < lStr; i++) {
                        if (_____(2)_____) {
                            return true;
                        }
                    }
                }
                break;
            }
            case '$': {
                if (_____(3)_____) {
                    return false;
                }
                while ((iStr < lStr) && (str.charAt(iStr) >= '0') && (str.charAt(iStr) <= '9')) {
                    iStr += 1;
                }
                iRule += 1;
                break;
            }
            default: {
                if (rule.charAt(iRule) != str.charAt(iStr)) {
                _____(4)_____;
                }
                iRule += 1;
                iStr += 1;
                break;
                }
            }
        }
        if (iRule < lRule && iStr >= lStr) {
            if (rule.charAt(iRule) == '*') {
                return true;
            }
        } else {
            return _____(5)_____;
        }
        return false;
    }
}

结束后去查了下,发现这道题在网上大佬面的腾讯wxg四面当中也出现了……

第二道编程题如下:

输入任意一种物质,要求输出其每种元素的数量。

比如:

输入CaCO3,其组成分别为Ca:1,C:1,O:3,输出Ca1C1O3

输入Fe2(SO4)3,其组成分别为Fe:2,S:3,O:12,输出Fe2S3O12 (注意:元素名称首字母大写,剩余字母都小写;括号括起来表示括号中的结构作为整体出现多少次)

这道题我初看感觉算不上特别难(毕竟还有不少思路),然后越写越不对劲,最后人麻了……

两道题都没有完成,直接挂了,我果然是小菜鸡……

#2022届秋招进度交流##笔试题目##笔经##Java#
全部评论
他这两个一个是都是腾讯的面试题 编程题是困难难度的🙄
8 回复 分享
发布于 2022-02-21 18:18
java答案第一题 (1)rule.charAt(iRule)         (2)str.substring(i).equals(rule.substring(iRule))         (3)str.charAt(iStr)<'0&(30533)#39; || str.charAt(iStr)>'9&(30534)#39;         (4) return false         (5) iStr >= lStr
3 回复 分享
发布于 2022-09-14 16:06 广东
唉,我大概也没戏了。我给提供一份答案吧,这是我笔试后想出来的。 填空题: (1) rule[iRule] (2) String.Equals(str.Substring(i),rule.Substring(iRule))  (3) iStr >= lStr (4) return false (5) iStr >= lStr
1 回复 分享
发布于 2022-02-12 00:37
第一题的python版!!! 如有错误,欢迎指出,python没有switch,所以break改为了continue
1 回复 分享
发布于 2022-04-16 15:55
这两道笔试题的答案在哪可以找到
点赞 回复 分享
发布于 2021-10-20 17:43
这是我的答案
点赞 回复 分享
发布于 2023-03-11 21:22 广东

相关推荐

面经:1.&nbsp;多线程打印整数2.链表合并3.写一个生产者消费者模型:思路&nbsp;wait()&nbsp;和&nbsp;notify()&nbsp;方法来实现4.sql题:求和&nbsp;排序&nbsp;分页2024.6.20一面项目拷打。之前做的没什么难度,问项目难点,说了我觉得是难点的东西,但是其实解决了也没有多难,但是还是要说八股文:Java的异常体系为什么要有异常finally(这个面试官追问,你确定他会不管怎么样都会执行吗?为什么)深拷贝浅拷贝深拷贝的应用场景数据库索引索引的数据结构什么数据库用了哈希索引mysql数据库的索引结构B树的特点索引失效的场景git的常用指令git&nbsp;mergelinux:查询cpu利用率最高的进程linux:查询日志中的关键字代码讲解第一个没看懂第二个:流式编程菜鸟集团丨2025届校招官方内推启动【公司介绍】菜鸟孵化于阿里巴巴全球最大的行业电子商务生态系统中,现已成为电商物流的全球领导者,全球第一的跨境电商物流公司【岗位方向】研发类、算法类、产品类、数据类、物流类、运营类、市场拓展类、职能类【工作地点】杭州为主,深圳、香港、北京也开放需求;区域物流岗(物流园区办公):东莞、珠海、厦门、漳州、杭州、威海【内推渠道】https://jsj.top/f/fjZDnI【内推码】CN003【备注】内推码在「校园大使内推人」栏填写,欢迎私戳跟简历进度哦~填写此链米哈游接后,同学会在近期收到一封内推确认邮件,通过邮件确认后才算内推成功、才能进入菜鸟校招流程❗️投递的UU留下姓名缩写和岗位~我会跟进~
菜鸟集团
|
校招
|
超多精选岗位
点赞 评论 收藏
分享
17 27 评论
分享
牛客网
牛客企业服务