腾讯微信支付暑期实习一面(二面)

微信支付面试等了好久,之前面过一次,结果现在到官网流程了,好迷。。。不知道是一面还是二面,本来是牛客视频,结果面试官网络不好,牛客写完代码后换电话了。

面试题

1、上来就做题!都没自我介绍!?

公司员工每天上下班需要进行打卡操作,工作时间为早上9点到晚上5点。迟到或者早退半小时当天按旷工处理。hr能查看所有员工的打卡信息,员工只能查看自己的打卡信息。
请编写一个能支持以上场景的程序。

//以下代码是简单伪代码实现
public class Time {
    private DataTime firstTime;
    private DataTime lastTime;
    
    public void setFirstTime(DataTime firstTime){
        this.firstTime  = firstTime;
    }
    public void setLastTime(DataTime lastTime){
        this.lastTime  = lastTime;
    }
   
}

Public class Person{
    private Time personTime;
    private boolean isLate;
    // 伪代码
    public void firstCall(){
        personTime.setFirstTime(currentTimeMillis());
        //如果超过九点半则记为旷工 
        if(currentTimeMillis()){
            this.isLate = true;
        }
    }
    
    // 伪代码
    public void lastCall(){
        personTime.setLastTime(currentTimeMillis());
        //如果早于下午4:30就记为旷工 
        if(currentTimeMillis()){
            this.isLate = true;
        }
    }
    
    //hr获取打卡时间
    public Time getTime(){
        return this.personTime;
    }
    //获取是否旷工
    public boolean isLate(){
        return this.isLate;
    }
}

2、项目介绍、难点

项目阶段全程我在说,说完之后问了一下细节,为什么消息队列使用Redis,有了解过其他的吗
我提了一下Rabbitmq

3、项目中的sql优化问题

1、索引优化
2、联合查询优化

4、索引底层实现,为什么采用B+树实现?

1、B+树
2、多路搜索、数据在叶子节点,契合磁盘存储原理,局部性原理和预读取


5、那你知道B+树是几层吗?

读者可以参考这篇文章:https://blog.csdn.net/qq_41999455/article/details/104946754

6、MySQL事务有用过吗?

讲了一下几种隔离级别的使用

7、那语言这块用什么多一些?C++写过吗?

因为我简历上写了Java C++ Go,但是Java用的最多,C++没有写过完整项目。。。

8、Java中的map有哪些?

HashMap hashTable

9、它们之间什么区别?

1、线程安全问题
2、扩容机制不同
3、Hash值计算不一样
4、HashMap允许null做键值,hashtable不允许null做键值

10、有了解过Java中的NIO吗?原理是什么?

1、基于直接内存实现
2、NIO底层原理,同步非阻塞的IO模型,它是面向缓冲区的

11、Java的内存数据区介绍一下

讲了一下Java的运行时数据区,各类数据存储

12、Linux中的IO多路复用知道吗?讲一下

从select、poll、epoll详细说了一下底层实现

13、分布式有了解过是吧?知道分布式事务吗?CAP?讲一下

1、分区容错性、高可用性、数据一致性;
2、三者不能同时满足,一般的分布式系统都会优先满足高可用、放弃强一致性选择最终一致性
3、从单应用架构的事务说起,介绍分布式事务的出现意义,目前分布式事务常用的2PC、3PC都讲了一下

14、除过2PC、3PC还有什么协议算法呢?

paxos算法以及zookeeper使用的ZAB协议算法

15、有实际场景应用过吗?

16、前端用过是吧,能说一下吗?

后台开发问我全栈。。。
前端都是很久之前写过的简单页面了。。。

17、那你知道目前哪些组件、框架比较好吗?

提了一下vue,我没用过。。。

18、编译原理学过了吗?

还没有,这学期才开。。

19、那今天就这样吧,后续会有人联系你下一面。

发布了49 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41999455/article/details/104942353