程序员社区

微信支付一面凉经 + (Java面试)

今天给大家分享一篇 微信支付一面凉经, 希望大家在面试中能够斩获Offer, 找到自己满意的工作。 一起来看看吧~

最近整理了一系列的Java面试题,包含了Java基础、进阶、多线程、并发编程、数据库(MySQL、Redis、MongoDB、Memcachedd等等)、Spring全家桶、MyBatis、ZooKeeper、Dubbo、Elasticsearch、RabbitMQ、Kafka、Linux、Netty、Tomcat以及阿里、腾讯、字节、百度等大厂的面试真题。

点击下载完整PDF☞ 2022年最新Java面试题集

卡了我一周,今天终于把简历放掉了

3-18微信支付一面

1小时10分钟

半小时三道题

1. 动态规划

给定无限个不同重量的金属球和一个总重量,求可以凑成总重量所需的最少球的个数, 如果凑不成返回-1,例如:
输入:ball_weights = [1, 2 , 5],  amount=11
输出:3,11=5+5+1

2. 字符串 s1 中删除 s2 出现的字符

字符串 s1 中删除 s2 出现的字符

给定两个字符串 s1 和 s2 ,请从 s1 中删除在 s2 中出现过的所有字符。


s1 和 s2 中 char 字符取值范围 [1,255] 。


比如 remove("abcdeeffgg", "ddbbG") 得到 "aceeffgg". 函数原型如:


char * removeS2Chars( char * s1, const char * s2 );

3. LFU缓存

请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。它应该支持以下操作:get 和 put。

get(key) - 如果键存在于缓存中,则获取键的值(总是正数),否则返回 -1。
put(key, value) - 如果键已存在,则变更其值;如果键不存在,请插入键值对。当缓存达到其容量时,则应该在插入新项之前,使最不经常使用的项无效。在此问题中,当存在平局(即两个或更多个键具有相同使用频率)时,应该去除最久未使用的键。
「项的使用次数」就是自插入该项以来对其调用 get 和 put 函数的次数之和。使用次数会在对应项被移除后置为 0 。



进阶:
你是否可以在 O(1) 时间复杂度内执行两项操作?

面试

  • 什么时候毕业,能实习多久,能来深圳实习吗
  • 讲讲项目
  • 进程和线程的区别
  • 浏览器发送URL整个流程
  • 如何保证线程安全
  • 锁有哪些
  • MySQL索引有哪些
  • B+树索引为什么快,高性能体现在哪些方面
  • 分布式了解吗,讲讲Redis相关的分布式
  • 选举算法了解吗
  • 安全相关,XSS攻击了解吗
  • 了解SQL注入吗
  • 如何设计一个秒杀系统?
  • 负载均衡知道哪些?
  • 100G的单词数据,如何排序
  • 有过数据处理相关经验吗
  • 知道mapReduce吗
  • 你通过什么渠道了解新技术
  • 你最近在学什么新技术
  • 如果遇到了自己无法解决的问题,该怎么办
  • 你觉得自己有什么优势?
  • 如果上游同事任务没按时完成,要延期,你会怎么办?

部门要招数据处理相关的全栈工程师,我是搞Java后端的,貌似不是很match

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 微信支付一面凉经 + (Java面试)

一个分享Java & Python知识的社区