การเขียนโปรแกรม

คำถาม & คำตอบสำหรับโปรแกรมเมอร์มืออาชีพและกระตือรือร้น

30
คำถามสัมภาษณ์ง่ายขึ้นยากขึ้น: ตัวเลขที่ระบุ 1..100, ค้นหาหมายเลขที่หายไปที่ระบุว่า k หายไปอย่างแน่นอน
ฉันมีประสบการณ์การสัมภาษณ์งานที่น่าสนใจสักพัก คำถามเริ่มง่ายจริงๆ: ไตรมาสที่ 1 : เรามีถุงที่มีตัวเลข1, 2, 3, ... 100, แต่ละหมายเลขปรากฏขึ้นหนึ่งครั้งดังนั้นจึงมี 100 หมายเลข ตอนนี้จะมีการสุ่มเลือกหมายเลขหนึ่งออกจากกระเป๋า ค้นหาหมายเลขที่หายไป ฉันเคยได้ยินคำถามสัมภาษณ์นี้มาก่อนแน่นอนดังนั้นฉันจึงตอบอย่างรวดเร็วไปตาม: A1 : ผลรวมของตัวเลข1 + 2 + 3 + … + Nคือ(N+1)(N/2)(ดูWikipedia: ผลรวมของชุดเลขคณิต ) สำหรับผลรวมคือN = 1005050 5050ดังนั้นหากตัวเลขทั้งหมดที่มีอยู่ในถุงรวมจะตรง เนื่องจากหมายเลขหนึ่งหายไปผลรวมจะน้อยกว่านี้และความแตกต่างคือจำนวนนั้น ดังนั้นเราสามารถหาจำนวนที่ขาดหายไปในO(N)เวลาและO(1)สถานที่ เมื่อมาถึงจุดนี้ฉันคิดว่าฉันทำได้ดี แต่จู่ ๆ คำถามก็ถึงจุดเปลี่ยนที่ไม่คาดคิด: Q2 : ถูกต้อง แต่ตอนนี้คุณจะทำอย่างไรถ้าหมายเลขสองหายไป? ฉันไม่เคยเห็น / ได้ยิน / พิจารณาการเปลี่ยนแปลงนี้มาก่อนดังนั้นฉันจึงตื่นตระหนกและไม่สามารถตอบคำถามได้ ผู้สัมภาษณ์ยืนยันในการรู้กระบวนการคิดของฉันดังนั้นฉันจึงบอกว่าบางทีเราสามารถรับข้อมูลเพิ่มเติมได้โดยเปรียบเทียบกับผลิตภัณฑ์ที่คาดหวังหรืออาจทำครั้งที่สองหลังจากรวบรวมข้อมูลบางอย่างจากการผ่านครั้งแรก ฯลฯ …
1146 algorithm  math 

28
เรียงลำดับ ArrayList ของวัตถุที่กำหนดเองตามคุณสมบัติ
ฉันอ่านเกี่ยวกับการเรียงลำดับ ArrayLists โดยใช้ Comparator แต่ในตัวอย่างทั้งหมดที่ผู้คนใช้compareToซึ่งอ้างอิงจากการวิจัยบางอย่างเป็นวิธีสำหรับสตริง ฉันต้องการเรียงลำดับ ArrayList ของวัตถุที่กำหนดเองโดยหนึ่งในคุณสมบัติของพวกเขา: วัตถุวันที่ ( getStartDay()) โดยปกติแล้วฉันจะเปรียบเทียบพวกเขาด้วยitem1.getStartDate().before(item2.getStartDate())ดังนั้นฉันจึงสงสัยว่าฉันจะเขียนสิ่งที่ชอบได้ไหม: public class CustomComparator { public boolean compare(Object object1, Object object2) { return object1.getStartDate().before(object2.getStartDate()); } } public class RandomName { ... Collections.sort(Database.arrayList, new CustomComparator); ... }
1145 java  sorting  date  comparator 

30
ลบองค์ประกอบที่ว่างเปล่าออกจากอาร์เรย์ใน Javascript
ฉันจะลบองค์ประกอบว่างออกจากอาร์เรย์ใน JavaScript ได้อย่างไร มีวิธีที่ตรงไปตรงมาหรือฉันจำเป็นต้องวนซ้ำมันและลบออกด้วยตนเอง?


8
servlets ทำงานอย่างไร การเริ่มต้นเซสชันตัวแปรที่แชร์และมัลติเธรด
สมมติว่าฉันมีเว็บเซิร์ฟเวอร์ที่เก็บ servlets ไว้มากมาย สำหรับการส่งข้อมูลระหว่าง servlets เหล่านั้นฉันกำลังตั้งค่าเซสชันและตัวแปรอินสแตนซ์ ตอนนี้ถ้าผู้ใช้ 2 คนหรือมากกว่าส่งคำขอไปยังเซิร์ฟเวอร์นี้จะเกิดอะไรขึ้นกับตัวแปรเซสชัน พวกเขาจะเป็นเรื่องธรรมดาสำหรับผู้ใช้ทุกคนหรือพวกเขาจะแตกต่างกันสำหรับผู้ใช้แต่ละคน? หากพวกเขาแตกต่างกันเซิร์ฟเวอร์จะสามารถแยกความแตกต่างระหว่างผู้ใช้ที่แตกต่างกันอย่างไร คำถามที่คล้ายกันอีกข้อหนึ่งหากมีnผู้ใช้ที่เข้าถึงเซิร์ฟเล็ตเฉพาะเจาะจงเซิร์ฟเล็ตนี้จะถูกสร้างอินสแตนซ์เฉพาะในครั้งแรกที่ผู้ใช้คนแรกเข้าถึงหรือได้รับอินสแตนซ์สำหรับผู้ใช้ทั้งหมดแยกกันหรือไม่ กล่าวอีกนัยหนึ่งจะเกิดอะไรขึ้นกับตัวแปรอินสแตนซ์

10
ฉันจะแตกไฟล์เดียวกันระหว่างสองคอมมิตที่ต่างกันในสาขาเดียวกันได้อย่างไร?
ใน Git ฉันจะเปรียบเทียบไฟล์เดียวกันระหว่างสองคอมมิทที่ต่างกัน (ไม่ต่อเนื่องกัน) ในสาขาเดียวกันได้อย่างไร (ตัวอย่างเช่นมาสเตอร์) ฉันกำลังค้นหาคุณสมบัติการเปรียบเทียบเช่นเดียวกับในVisual SourceSafe (VSS) หรือTeam Foundation Server (TFS) เป็นไปได้ใน Git?
1143 git  git-diff 

30
ฉันจะแสดง 'Enum' ใน Python ได้อย่างไร
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันเป็นนักพัฒนาซอฟต์แวร์ C # เป็นหลัก แต่ปัจจุบันฉันทำงานโครงการใน Python ฉันจะเป็นตัวแทนของ Enum ใน Python ได้อย่างไร
1143 python  python-3.x  enums 

28
ตรวจสอบว่ามีตารางอยู่ใน SQL Server หรือไม่
ฉันต้องการให้เป็นการอภิปรายขั้นสุดท้ายเกี่ยวกับวิธีตรวจสอบว่ามีตารางอยู่ใน SQL Server 2000/2005 โดยใช้คำสั่ง SQL หรือไม่ เมื่อคุณได้รับคำตอบจาก Google คุณจะได้คำตอบที่แตกต่างกันมากมาย มีวิธีอย่างเป็นทางการ / ย้อนกลับและไปข้างหน้าในการทำมัน? นี่เป็นวิธีที่เป็นไปได้สองวิธี วิธีใดที่หนึ่งในสองคือมาตรฐาน / วิธีที่ดีที่สุดในการทำมัน? วิธีแรก: IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='mytablename') SELECT 1 AS res ELSE SELECT 0 AS res; วิธีที่สอง: IF OBJECT_ID (N'mytablename', N'U') IS NOT NULL SELECT 1 AS res …

30
รับรายการสุดท้ายในอาร์เรย์
นี่คือรหัส JavaScript ของฉัน: var linkElement = document.getElementById("BackButton"); var loc_array = document.location.href.split('/'); var newT = document.createTextNode(unescape(capWords(loc_array[loc_array.length-2]))); linkElement.appendChild(newT); ขณะนี้ใช้เวลารายการที่สองถึงสุดท้ายในอาร์เรย์จาก URL อย่างไรก็ตามฉันต้องการตรวจสอบไอเท็มสุดท้ายในอาร์เรย์"index.html"และถ้าเป็นเช่นนั้นให้หยิบไอเท็มที่สามไปยังไอเท็มสุดท้ายแทน
1142 javascript  arrays 


29
วิธีการนำเข้าโมดูลที่กำหนดเส้นทางแบบเต็ม?
ฉันจะโหลดโมดูล Python ที่ระบุเส้นทางแบบเต็มได้อย่างไร โปรดทราบว่าไฟล์สามารถอยู่ที่ใดก็ได้ในระบบไฟล์เนื่องจากเป็นตัวเลือกการกำหนดค่า

16
รูปแบบวันที่“ ถูกต้อง” ของ JSON
ฉันเห็นมาตรฐานที่แตกต่างกันมากมายสำหรับรูปแบบวันที่ของ JSON: "\"\\/Date(1335205592410)\\/\"" .NET JavaScriptSerializer "\"\\/Date(1335205592410-0500)\\/\"" .NET DataContractJsonSerializer "2012-04-23T18:25:43.511Z" JavaScript built-in JSON object "2012-04-21T18:25:43-05:00" ISO 8601 อันไหนที่ถูกต้อง? หรือดีที่สุด มีมาตรฐานประเภทใดบ้างในเรื่องนี้?
1137 javascript  json 


14
ความแตกต่างระหว่าง Build Solution, Rebuild Solution และ Clean Solution ใน Visual Studio หรือไม่?
อะไรคือความแตกต่างระหว่างบิลด์โซลูชั่น, บิวด์โซลูชั่นและคลีนโซลูชั่นใน Visual Studio? เวลาที่เหมาะสมในการใช้แต่ละรายการเหล่านี้คือเมื่อใด
1137 visual-studio 

30
ข้อมูลอ้างอิง - ข้อผิดพลาดนี้หมายถึงอะไรใน PHP
นี่คืออะไร? นี่คือคำตอบจำนวนหนึ่งเกี่ยวกับคำเตือนข้อผิดพลาดและการแจ้งเตือนที่คุณอาจพบในขณะที่เขียนโปรแกรม PHP และไม่มีเงื่อนงำในการแก้ไข นี่เป็น Wiki ชุมชนด้วยดังนั้นทุกคนจึงได้รับเชิญให้เข้าร่วมเพิ่มและดูแลรายการนี้ ทำไมนี้ คำถามเช่น"ส่วนหัวที่ส่งไปแล้ว"หรือ"การโทรหาสมาชิกที่ไม่ใช่วัตถุ"ปรากฏขึ้นบ่อยครั้งใน Stack Overflow สาเหตุที่แท้จริงของคำถามเหล่านั้นเหมือนกันเสมอ ดังนั้นคำตอบสำหรับคำถามเหล่านั้นมักจะทำซ้ำแล้วแสดง OP ซึ่งบรรทัดที่จะเปลี่ยนแปลงในกรณีเฉพาะของพวกเขา คำตอบเหล่านี้ไม่ได้เพิ่มคุณค่าใด ๆ ให้กับเว็บไซต์เพราะพวกเขาจะใช้กับรหัสเฉพาะของ OP เท่านั้น ผู้ใช้รายอื่นที่มีข้อผิดพลาดเดียวกันไม่สามารถอ่านวิธีแก้ปัญหาได้ง่ายเนื่องจากมีการแปลเป็นภาษาท้องถิ่นมากเกินไป นั่นเป็นเรื่องน่าเศร้าเพราะเมื่อคุณเข้าใจสาเหตุของปัญหาการแก้ไขข้อผิดพลาดนั้นเป็นเรื่องเล็กน้อย ดังนั้นรายการนี้จะพยายามอธิบายวิธีแก้ปัญหาด้วยวิธีการทั่วไป ฉันควรทำอะไรที่นี่ หากคำถามของคุณถูกทำเครื่องหมายว่าซ้ำกับคำถามนี้โปรดหาข้อความแสดงข้อผิดพลาดด้านล่างและใช้การแก้ไขกับรหัสของคุณ คำตอบมักจะมีลิงค์เพิ่มเติมเพื่อตรวจสอบในกรณีที่ไม่ควรชัดเจนจากคำตอบทั่วไปเพียงอย่างเดียว หากคุณต้องการมีส่วนร่วมโปรดเพิ่มข้อความแสดงข้อผิดพลาด "ที่ชื่นชอบ" คำเตือนหรือการแจ้งเตือนหนึ่งคำตอบคำอธิบายสั้น ๆ ว่ามันหมายถึงอะไร (แม้ว่าจะเป็นเพียงการไฮไลต์เทอมในหน้าคู่มือของพวกเขา) รายชื่อของคำถาม & คำตอบที่มีอยู่ซึ่งมีมูลค่า นอกจากนี้อย่าลังเลที่จะปรับปรุงคำตอบที่มีอยู่ รายการ ไม่เห็นอะไรเลย หน้าว่างและสีขาว (เรียกอีกอย่างว่าWhite Page / Screen Of Death ) โค้ดไม่ทำงาน / ดูเหมือนว่าบางส่วนของโค้ด PHP …
1137 php  debugging  warnings 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.