download:资深大牛带你深度剖析ios面试面试没底气?拿不到满意的offer?本课程从一线互联网企业的面试、笔试真题入手,以iOS技术体系为主线,深度剖析面试常用考点,让你面试有底气;同时会深入考点背后的技术原理、...
download:资深大牛带你深度剖析ios面试
面试没底气?拿不到满意的offer?本课程从一线互联网企业的面试、笔试真题入手,以iOS技术体系为主线,深度剖析面试常用考点,让你面试有底气;同时会深入考点背后的技术原理、机制等高级知识,助你拿到满意的offer!
适合人群及技术储备要求
本课程适合想进入名企,同时想提升自己的技术功底的iOS工程师
技术储备要求
至少有一个项目开发经验
熟练掌握Objective-C语言和Xcode工程等初级工程师必备技术
public Book() {
}
public Book(String id, String name, String price, String auth,
String publish, String description) {
super();
this.id = id;
this.name = name;
this.price = price;
this.auth = auth;
this.publish = publish;
this.description = description;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getAuth() {
return auth;
}
public void setAuth(String auth) {
this.auth = auth;
}
public String getPublish() {
return publish;
}
public void setPublish(String publish) {
this.publish = publish;
}
}
import java.util.LinkedHashMap;
import java.util.Map;
import cn.huiyu.ben.Book;
public class BookDao {
private static Map<String,Book> bookMap = new LinkedHashMap<String, Book>();
private BookDao() {
}
static{
bookMap.put("1", new Book("1","1111","11.0","zqwang","111出版社","111111111"));
bookMap.put("2", new Book("2","2222","22.0","zqwang","222出版社","222222222"));
bookMap.put("3", new Book("3","3333","33.0","zqwang","333出版社","333333333"));
}
public static Map<String,Book> getBooks(){
return bookMap;
}
public static Book getBook(String id){
return bookMap.get(id);
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//1.查询数据库中一切的书展现
Map<String,Book> map = BookDao.getBooks();
for(Map.Entry<String , Book> entry : map.entrySet()){
Book book = entry.getValue();
response.getWriter().write("<a href='"+request.getContextPath()+"/servlet/BookInfoServlet?id="+book.getId()+"'>"+book.getName()+"
");
}
response.getWriter().write("
");
//2.显现之前看过的书
Cookie [] cs = request.getCookies();
Cookie findC = null;
if(cs!=null){
for(Cookie c : cs){
if("last".equals(c.getName())){
findC = c;
}
}
}
if(findC == null){
response.getWriter().write("没有看过任何书!");
}else{
response.getWriter().write("您曾经阅读过的书:
");
String[] ids = findC.getValue().split(",");
for(String id : ids){
Book book = BookDao.getBook(id);
response.getWriter().write(book.getName()+"
");
}
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//1.获取要看的书的id,查询数据库找出书,输出书的细致信息
String id = request.getParameter("id");
Book book = BookDao.getBook(id);
if(book==null){
response.getWriter().write("找不到这本书!");
return;
}else{
response.getWriter().write("
书名:"
+book.getName()+"");
response.getWriter().write("
作者:"
+book.getAuth()+"");
response.getWriter().write("
售价:"
+book.getPrice()+"");
response.getWriter().write("
出版社:"
+book.getPublish()+"");
response.getWriter().write("
描画信息:"
+book.getDescription()+"");
}
//2.发送cookie保管最后看过的书
// --- 1 --> 1
// 1 --2,1 --> 2,1
// 2,1--3,2,1 --> 3,2,1
// 3,2,1 -- 4,3,2 --> 4,3,2
// 4,3,2 --3,4,2 --> 3,4,2
String ids = "";
Cookie [] cs = request.getCookies();
Cookie findC = null;
if(cs!=null){
for(Cookie c : cs){
if("last".equals(c.getName())){
findC = c;
}
}
}
if(findC == null){
//阐明之前没有看过书的记载
ids += book.getId();
}else{
//阐明之前有历史看过的书的记载,需求依据历史记载算一个新的记载出来
String [] olds = findC.getValue().split(",");
StringBuffer buffer = new StringBuffer();
buffer.append(book.getId()+",");
for(int i = 0;i<olds.length && buffer.toString().split(",").length<3 ;i++){
String old = olds[i];
if(!old.equals(book.getId())){
buffer.append(old+",");
}
}
ids = buffer.substring(0, buffer.length()-1);
}
Cookie lastC = new Cookie("last",ids);
lastC.setMaxAge(3600*24*30);
lastC.setPath(request.getContextPath());
response.addCookie(lastC);
}
本文标题为:资深大牛带你深度剖析ios面试
- Android实现轮询的三种方式 2023-02-17
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- 详解flutter engine 那些没被释放的东西 2022-12-04
- iOS 对当前webView进行截屏的方法 2023-03-01
- Android实现监听音量的变化 2023-03-30
- Android studio实现动态背景页面 2023-05-23
- Flutter实现底部和顶部导航栏 2022-08-31
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02