面试复盘 | 字节跳动提前批一面凉经~

8月11日
时长:1h20min
1.无自我介绍环节
2.算法题:
将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的,且合并后新链表依然有序。
import java.util.*;
public class Solution {
    public ListNode mergeTwoLists (ListNode l1, ListNode l2) {
        if(l1==null||l2==null){
            return l1==null?l2:l1;
        }
        ListNode root=null,p=null;
        while(l1!=null&&l2!=null){
            if(l1.val>=l2.val){
                if(root==null){
                    root=l2;
                    p=root;
                }else{
                    p.next=l2;
                    p=p.next;
                }
                l2=l2.next;
            }else{
                if(root==null){
                    root=l1;
                    p=root;
                }else{
                    p.next=l1;
                    p=p.next;
                }
                l1=l1.next;
            }
        }
        if(l1!=null){
            if(root==null){
                root=l1;
            }else{
                p.next=l1;
            }
        }
        if(l2!=null){
            if(root==null){
                root=l2;
            }else{
                p.next=l2;
            }
        }
        return root;
    }
}
15min才敲出来,有点慌了,这种很简单的...呜呜
  • SQL1: 选出有哪些科目, 每个科目的最高分,参加人数(名字假设不重复)
  • SQL2: 选出各科目分数最高的同学,如果最高分相同,要都选出来
sql题很久没写了,说第一道对着,我很慌。这么简单都不会。
  • 组合索引a_b_c(a, b, c)
    • 以下使用索引的情况
      • SELECT * FROM table1 WHERE a = 1
      • SELECT * FROM table1 WHERE b = 2
      • SELECT * FROM table1 WHERE b = 2 and c=3
      • SELECT * FROM table1 WHERE b = 2 and a=1
最左匹配原则说起来~
3.项目和实习
4.系统设计题
设计一个短网址系统:可以将用户给的网址变成短网址,用户使用这些短网址可以访问他们原来给的网址(下面简称长网址)。
描述这个系统是怎么运作的,需包括但不限于下面的问题:
(1、怎么分配短网址?
(2、怎么存储短网址和长网址的映射关系?
(3、怎么实现跳转服务?
(4、怎么存储访问数据?
求大佬解析!!!!在线跪求~怎么提升自己对这种业务场景题等等的应对。
5.杂题
(1、为什么使用多线程
(2、进程、线程、通信等等
————————————————
面试复盘总结:
之前一直在学八股文,抓基础知识,学的差不多了感觉就很轻松。
但是部分大厂对项目对个人的理解能力有一些较高的要求吧。
比如我的项目就用到了redis和rabbitmq,就会深挖这两块的知识,之后可以多去了解一些性能问题,百度有问到,阿里也有,但是自己对这些的话只是一个使用 那么可能很拙劣的。
这几次面试就感觉,八股文并不是唯一吧,还是对项目实操有一定的要求的。
字节希望的是我们有一定的实践能力,对各种知识有一定的深入理解,希望大家不要像我一样浮于表面吧。
多方面都抓起来,算法、sql、八股文、项目,整体就这些么,也不难。可怜我还要实习啊。
求大家解析一下4.系统设计题。
#面试复盘##面经##校招##字节跳动##Java工程师#
全部评论
短链可以用一个全局自增的id,每个网页分配一个自增id,然后对自增id进行转换为64进制的字母组合(避免不同的网页映射为同一个短链),存储的话redis,mysql,hashmap都可以考虑
1 回复 分享
发布于 2021-08-15 16:31
4. 重定向就可以吧..楼主这是字节电商吗
点赞 回复 分享
发布于 2021-08-17 23:20
兄弟投的哪个部门啊
点赞 回复 分享
发布于 2021-08-11 22:48

相关推荐

06-13 17:33
门头沟学院 Java
顺序不记了,大致顺序是这样的,有的相同知识点写分开了1.基本数据类型2.基本数据类型和包装类型的区别3.==和equals区别4.ArrayList与LinkedList区别5.hashmap底层原理,put操作时会发生什么6.说出几种树型数据结构7.B树和B+树区别8.jvm加载类机制9.线程池核心参数10.创建线程池的几种方式11.callable与runnable区别12.线程池怎么回收线程13.redis三剑客14.布隆过滤器原理,不要背八股,说说真正使用时遇到了问题没有(我说没有,不知道该怎么回答了)15.堆的内存结构16.自己在写项目时有没有遇见过oom,如何处理,不要背八股,根据真实经验,我说不会17.redis死锁怎么办,watchdog机制如何发现是否锁过期18.如何避免redis红锁19.一个表性别与年龄如何加索引20.自己的项目的QPS怎么测的,有没有真正遇到大数量表21.说一说泛型22.springboot自动装配原理23.springmvc与springboot区别24.aop使用过嘛?动态代理与静态代理区别25.spring循环依赖怎么解决26.你说用过es,es如何分片,怎么存的数据,1000万条数据怎么写入库中27.你说用limit,那么在数据量大之后,如何优化28.rabbitmq如何批次发送,批量读取,答了延迟队列和线程池,都不对29.计网知不知道smtp协议,不知道写了对不对,完全听懵了30.springcloud知道嘛?只是了解反问1.做什么的?短信服务,信息量能到千万级2.对我的建议,基础不错,但是不要只背八股,多去实际开发中理解。面试官人不错,虽然没露脸,但是中间会引导我回答问题,不会的也只是说对我要求没那么高。面完问我在济宁生活有没有困难,最快什么时候到,让人事给我聊薪资了。下午人事打电话,问我27届的会不会跑路,还在想办法如何使我不跑路,不想扣我薪资等。之后我再联系吧,还挺想去的😭,我真不跑路哥😢附一张河科大幽默大专图,科大就是大专罢了
查看30道真题和解析
点赞 评论 收藏
分享
快点约我面试吧
投递百度等公司10个岗位
点赞 评论 收藏
分享
评论
5
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务