总结
三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。
- 第一个是算法
关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。
而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本
《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题
《算法的乐趣》共有23个章节:
- 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
- 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)
stripper.setStartPage(1);
//设置要读取的结束页码
stripper.setEndPage(pageNumber);
// System.out.println(stripper.getText(pdd));
//生成的txt的文件路径
String docPath =path.substring(0,path.lastIndexOf(“.”))+“.txt”;
File doc = new File(docPath);
if(!doc.exists()){
doc.createNewFile();
}
//文件输出流
FileOutputStream fos = new FileOutputStream(doc);
Writer writer = new OutputStreamWriter(fos, “utf-8”);
stripper.writeText(pdd, writer);
writer.close();
fos.close();
System.out.println(“提取文本完成”);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
-
提取图片
-
@return
*/
public static boolean extractImages(String path) {
boolean result = true;
try{
File fdf = new File(path);
//通过文件名加载文档
PDDocument document = Loader.loadPDF(fdf);
PDPageTree pages = document.getPages();
Iterator iter = pages.iterator();
//生成的txt的文件路径
String imagePath =path.substring(0,path.lastIndexOf(“.”));
while(iter.hasNext()){
PDPage page = iter.next();
PDResources resources =page.getResources();
resources.getXObjectNames().forEach(e->{
try {
if(resources.isImageXObject(e)){
PDImageXObject imageXObject=(PDImageXObject)resources.getXObject(e);
BufferedImage bufferedImage= imageXObject.getImage();
System.out.println(bufferedImage);
ImageIO.write(bufferedImage,“jpg”,new File(imagePath+“_”+e+“.jpg”));
}
} catch (IOException ioException) {
ioException.printStackTrace();
}
});
System.out.println(“----------------------------------------------”);
}
System.out.println(“提取图片完成”);
// document.save(fdf);
document.close();
} catch(IOException ex){
ex.printStackTrace();
return false;
}
return result;
}
}
idea控制台运行输出
提取文件和原pdf文件在同一文件夹下
原pdf内容部分展示
提取文本展示
提取图片展示
相关文章推荐
干货来袭!几行代码实现pdf添加水印和去除水印https://blog.csdn.net/weixin_40986713/article/details/120198982https://blog.csdn.net/weixin_40986713/article/details/120198982
JAVA实现PDF合并、拆分代码工具类https://blog.csdn.net/weixin_40986713/article/details/120065363
JAVA实现无损word转pdf文件完整代码教程https://blog.csdn.net/weixin_40986713/article/details/120416465https://blog.csdn.net/weixin_40986713/article/details/120416465
写在最后
还有一份JAVA核心知识点整理(PDF):JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…
n7A-1715566081764)]